【发布时间】:2019-01-10 14:59:39
【问题描述】:
我正在尝试将 python 中的字典中的键和值写入 csv 文件。我正在获取写入输出,但我想对其进行格式化,使其不包含任何制表符或空格。当我尝试时:
with open(datafile, 'w', newline='', encoding='utf8') as csvfile:
datawriter = csv.writer(csvfile, delimiter='\t')
dic = {'2017-03-07': '36939142', '2014-02-19': '13193909'}
for key in dic.keys():
date = key
order_number = dic[key]
row = [date, order_number]
datawriter.writerow(','.join(row))
我正在寻找 csv 文件中的输出看起来像。 2017-03-07, 36939142。但在输出中改为:2 0 1 7 - 0 3 - 0 7 和订单号 3 6 9 3 9 1 4 2。
每个字符之间有空格/制表符。这使得许多 excel 函数无法使用。
如何在 csv 文件中获得预期的输出?
【问题讨论】:
-
writerow函数将列表作为参数,而不是字符串。只需更改为datawriter.writerow(row)。 -
@JordanSinger 是正确的,但仅更改该部分会导致列用制表符而不是逗号分隔。
delimter必须更改为','以及更改writerow的函数调用以传递列表。
标签: python excel python-3.x export-to-csv