【发布时间】:2017-10-16 15:33:14
【问题描述】:
我是 Python 新手,在多次搜索如何将列表列表转换为 CSV 文件后,我没有找到解决问题的方法。
这是我的代码:
#!C:\Python27\read_and_convert_txt.py
import csv
if __name__ == '__main__':
with open('c:/python27/mytxt.txt',"r") as t:
lines = t.readlines()
list = [ line.split() for line in lines ]
with open('c:/python27/myfile.csv','w') as f:
writer = csv.writer(f)
for sublist in list:
writer.writerow(sublist)
第一个open()会从txt文件中创建一个列表列表,比如
list = [["hello","world"], ["my","name","is","bob"], .... , ["good","morning"]]
然后第二部分会将列表列表写入 csv 文件,但仅在第一列中。
我需要的是从这个列表列表中将其写入 csv 文件,如下所示:
Column 1, Column 2, Column 3, Column 4 ......
hello world
my name is bob
good morning
当我用 txtpad 打开 csv 文件时恢复:
hello;world
my;name;is;bob
good;morning
【问题讨论】:
-
奇怪,默认分隔符是逗号,而不是分号。但无论如何:你能试试吗:
writer = csv.writer(f,delimiter="\t") -
注意:直接使用
writer.writerows(list)。并且不要使用list作为变量名 -
这不是您的实际缩进。这不会运行。请修正你的缩进。