【发布时间】:2012-03-26 13:01:44
【问题描述】:
CSV 具有正在解析的字段,该字段中可能有也可能没有条目,这些条目的值另外用逗号分隔。
import csv
def import_text(filename, separator):
for line in csv.reader(open(filename), delimiter=separator,
skipinitialspace=True):
if line[19]:
for elt in line[19].split(','):
yield elt
for data in import_text('filename.csv', ','):
print (data)
使用上面的脚本,CSV 中的第 20 列将打印以下内容:
a
b, c, d
e, f
我想要 b, c, d; e, f 在各自的行上打印,如下所示:
a
b
c
d
e
f
【问题讨论】:
-
您可能必须更清楚自己要完成的工作。也许您正在收益声明周围寻找
for elt in line[19].split(','): -
试图扩展字段中以逗号分隔的值。尝试了您的回复,但得到了相同的结果,请参阅更新后的问题。
-
您能否发布一个简短但实际的输入和(所需)输出示例? abc sn-p 一点用都没有。
-
要考虑的事情:如果您从不使用
elt,for elt in line[19].split(','):是多余的。