2

所以我有一个清单:

>>> print references
>>> ['Reference xxx-xxx-xxx-007 ', 'Reference xxx-xxx-xxx-001 ', 'Reference xxx-xxx-xxxx-00-398 ', 'Reference xxx-xxx-xxxx-00-399']

(列表比这长得多)

我需要编写一个 CSV 文件,看起来像这样:

Column 1:
Reference xxx-xxx-xxx-007
Reference xxx-xxx-xxx-001
[...]

我试过这个:

c = csv.writer(open("file.csv", 'w'))
for item in references:
    c.writerows(item)
Or:
for i in range(0,len(references)):
    c.writerow(references[i])

但是当我打开创建的 csv 文件时,我得到一个窗口,要求我选择分隔符无论如何,我都有类似 R,e,f,e,r,e,n,c,es

4

3 回答 3

5
于 2013-02-06T09:47:18.367 回答
1

writerow将可迭代的元素写入不同的列。这意味着如果您提供一个元组,则每个元素将在一列中。如果您提供一个字符串,每个字母将在一列中。如果您想要同一列中的所有内容,请执行以下操作:

c = csv.writer(open("file.csv", 'wb'))
c.writerows(references)

或者

for item in references:
    c.writerow(references)
于 2013-02-06T09:48:01.297 回答
0
c = csv.writer(open("file.csv", 'w'))
c.writerows(["Reference"])

# cat file.csv
R,e,f,e,r,e,n,c,e

but

c = csv.writer(open("file.csv", 'w'))
c.writerow(["Reference"])


# cat file.csv
Reference

Would work as others have said.

My original answer was flawed due to confusing writerow and writerows.

于 2013-02-06T09:49:49.170 回答