0

我需要使用以下格式的文件:

product1,33,84
product2,18.50,72
product3,22,96

并且需要将元素写入以下格式的列表:

['product1', '33', '84', 'product2', '18.50', '72', 'product1', '22', '96']

但是,在编写代码时,我能得到的最接近的是:

[['product1', '33', '84'], ['product2', '18.50', '72'], ['product1', '22', '96']]

使用代码:

for line in productList.readlines():
    line = line.replace(",", " ")
    line = line.strip("\n")
    line = line.split(" ")
    products.append(line)

我如何按元素编写或合并这些嵌套列表?

4

2 回答 2

2

您快到了。你只想要products.extend(line)而不是append. 该extend方法将可迭代的每个元素(在本例中line为 )添加到列表 ( products) 中,而不是一次将所有项添加到列表中,这就是这样append做的。所以你的最终代码(稍微压缩)看起来像这样:

for line in productList.readlines():
    line = line.replace(",", " ").strip("\n").split(" ")
    products.extend(line)
于 2013-05-10T01:14:38.250 回答
1
>>> import csv
>>> from itertools import chain
>>> with open('data.csv') as f:
        print list(chain.from_iterable(csv.reader(f)))


['product1', '33', '84', 'product2', '18.50', '72', 'product3', '22', '96']
于 2013-05-10T08:30:02.643 回答