我正在尝试单独读取一个csv文件;。
代码:
import csv
with open('Ingresos_e_eCPM_por_fecha_y_cliente.csv', 'rb') as csvfile:
spamreader = csv.reader(csvfile, quotechar='|')
for row in spamreader:
print ', '.join(row)
我有这个csv数据:
21/12/2017;En;229.620;18.508;8,06%;14,56;0,79
22/12/2017;En;204.042;48.526;23,78%;43,98;0,91
23/12/2017;En;102.613;20.223;19,71%;17,86;0,88
24/12/2017;En;90.962;19.186;21,09%;14,26;0,74
25/12/2017;En;60.189;12.654;21,02%;11,58;0,92
问题是当我尝试用我的python代码阅读时,它向我展示了这些:
21/12/2017;En;229.620;18.508;8, 06%;14, 56;0, 79
22/12/2017;En;204.042;48.526;23, 78%;43, 98;0, 91
23/12/2017;En;102.613;20.223;19, 71%;17, 86;0, 88
24/12/2017;En;90.962;19.186;21, 09%;14, 26;0, 74
25/12/2017;En;60.189;12.654;21, 02%;11, 58;0, 92
我需要的数据与csv相同!
答案 0 :(得分:2)
如果您阅读文档,则会看到您可以指定Dialect.delimiter
告诉csv module
使用哪个字符来分隔字段。
csv.reader(csvfile, dialect='excel', **fmtparams)
可以给出其他可选的
fmtparams
关键字参数 覆盖当前方言中的各个格式参数。
在你的情况下:
spamreader = csv.reader(csvfile, delimiter=';', quotechar='|')
答案 1 :(得分:2)
您应该将逗号分隔值(csv)文件分隔符调整为分号delimiter=';'
:
import csv
with open('Ingresos_e_eCPM_por_fecha_y_cliente.csv', 'rb') as csvfile:
spamreader = csv.reader(csvfile, delimiter=';', quotechar='|')
for row in spamreader:
print ', '.join(row)
另一种方法是使用所提供的方言之一(分号为csv的通常罪魁祸首是excel):
import csv
with open('Ingresos_e_eCPM_por_fecha_y_cliente.csv', 'rb') as csvfile:
spamreader = csv.reader(csvfile, dialect='excel', quotechar='|')
for row in spamreader:
print ', '.join(row)