【发布时间】:2018-04-03 20:50:08
【问题描述】:
我想创建一个小程序,将一列包含以逗号分隔的值的 CSV 文件转换为包含多列且具有一个值的 CSV 文件:
输入文件:
输出文件:
为此我写了这段代码:
my_string1 = 'A,B,C,D,E'
my_string2 = 'A,B,C,D,E'
my_string3 = 'A,B,C,D,E'
my_list1 = my_string1.split(",")
my_list2 = my_string2.split(",")
my_list3 = my_string3.split(",")
path = 'C:\Dokumente\\n_1.csv'
rows = zip(my_list1,my_list2,my_list3)
with open(path, "wb") as csv_file:
writer = csv.writer(csv_file, delimiter=',')
for row in rows:
for column in row:
writer.writerow('%s;' % column)
但问题是它将所有值都写在一列中。
我想逐列写,然后我想移到第二行再写?
我使用带有 PyDev 和 Python 2.7 的 Eclipse Oxy
【问题讨论】:
-
您的问题是您正在使用的 excel 或任何电子表格程序没有考虑逗号/分号作为分隔符。有关设置分隔符的帮助,请参阅superuser.com/questions/606272/…
-
您遇到的错误是什么?
-
我没有错误,程序运行得很好,但是它把所有的值都写在一列中,我不想要的,因为我想要的是把每个值都写在一个列中的分隔字符串中
-
@DoctorDoom 是的,你是对的。我使用的是 Python 3,它给出了不同的结果。我已经更新了与 Python 2 一起使用的答案
标签: python python-2.7 csv