1

我已经尝试了从另一个问题中得到的一些代码(list_of_paths 是我之前在代码中生成的列表)

myfile = open('/home/graham/Desktop/Experiment/listcsv.csv', 'wb')
wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
wr.writerow(list_of_paths)

但它将整个列表放在一个单元格中。我希望每个项目都在不同的行中。我用于 CSV 文件的程序是 LibreOffice Calc,如果这有所作为的话。

4

2 回答 2

3

使用writerows如下:

myfile = open('/home/graham/Desktop/Experiment/listcsv.csv', 'wb')
wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
wr.writerows([path] for path in list_of_paths)
于 2013-09-06T15:44:02.093 回答
0

我会使用标准输入/输出来实现这一点。

$ cat getCSV.py 
input_list = range(10)   # replace range(10) with your list
for elem in input_list:
    print '"' + str(elem) + '"'

$ python getCSV.py > output.csv
$ cat output.csv 
"0"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"

如果列表中的每个元素又是一个列表或元组..您可以使用 join 命令将它们分成列。

>>> row = [str(i) for i in range(10)]
>>> row
['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
>>> ','.join(row)
'0,1,2,3,4,5,6,7,8,9'
>>> ','.join(['"' + col + '"' for col in row])
'"0","1","2","3","4","5","6","7","8","9"'
于 2013-09-06T15:44:40.797 回答