我有一个列表,我想写到一个CSV文件,我想它是由逗号后的新行分隔。 我尝试过writerows,但这会分割所有字符。 我尝试过writerow,但这会让我在一行中使用逗号分隔所有条目,但每个条目都没有换行符
我的尝试
import csv
mylist = ['AFCIEUR ID', 'CSCIB25 LX' , 'GAMCOIE ID']
writer = open("my_EQ_IDs.csv", 'w+')
writer_out = csv.writer(writer,delimiter='\n')
fields = ['SYMBOL']
writer_out.writerow(fields)
writer_out.writerows(mylist)
这给了我
SYMBOL
A
F
C
I
E
U
R
I
D
C
S
C
I
B
2
5
L
X
G
A
M
C
O
I
E
I
D
如果我使用writerow
而不是writerows
,我会得到以下结果
SYMBOL
AFCIEUR ID
CSCIB25 LX
GAMCOIE ID
这是接近我想要的,但它不是由逗号分隔,因为我需要。我已尝试将分隔符添加为delimiter=',\n'
,但这给了我一个错误TypeError: "delimiter" must be a 1-character string
我需要(预期输出)
SYMBOL
AFCIEUR ID,
CSCIB25 LX,
GAMCOIE ID
有人能告诉我我做错了什么,并给我指出正确的方向吗
非常感谢
尝试在分隔符中包含逗号:
delimiter=',\n'
实际结果是由字符串是iterable引起的。您将一个字符串列表传递给
writerows
,它需要一个iterable的iterable。因此,值的每个字符都被视为一个字段,后跟已设置为新行的字段分隔符但预期的文件不是有效的csv文件。当Python csv模块仅将分隔符定义为单个字符时,可以使用序列
',\n'
(2个字符)作为分隔符。因此,您不能期望csv模块产生预期的结果这意味着您应该手动编写文件。使用
join
很容易:尝试使用lineterminator='\n'和delimiter=','-应该可以
相关问题 更多 >
编程相关推荐