使用Python将值列表写入不同列中的csv文件

时间:2013-11-10 18:15:53

标签: excel list csv multiple-columns

我需要帮助将值写入csv文件。

我有4个值列表,我想写入csv文件,但不是以正常方式。我的意思是,通常csv模块在同一行写入值,但这次我想在不同的列中写入列表的值,我的意思是每列的一列和不同的行。这样,所有列表1数据都将位于Excel的A列中,所有列表2数据都将位于Excel的B列中,依此类推。现在我正在尝试很多命令,我做了一半,但根本没有。

我的名单是:It_5minute,Iiso_5min,IHDKR_5min和Iperez_5min。

我的实际命令:

with open('Test.csv', 'w') as f:
    w = csv.writer(f)
    for row in zip(It_5minute, Iiso_5min, IHDKR_5min,Iperez_5min):
        w.writerow(row)

使用这些命令,我​​在同一列中获取列表值(而不是在不同列中的每个列表),每个值用逗号分隔。我附上了一张Excel图片来澄清问题。我希望每个列表都在一个单独的列中,以便能够以简单的方式对数据进行操作。有谁能够帮我?非常感谢你。

PD:也很高兴在每一列的顶部写下每个列表的名称。

enter image description here

1 个答案:

答案 0 :(得分:1)

只是因为csv是二进制的,所以open('Test.csv', 'w') as f:更改为with open('Test.csv', 'wb') as f:

说明分隔符明确使用(在本例中为逗号)以及是否使用quoting以防万一(可选)

with open('Test.csv', 'wb') as f:
    w = csv.writer(f,delimiter=',', quoting = csv.QUOTE_ALL) #you can replace the delimiter for whatever that suits you
    for row in zip(It_5minute, Iiso_5min, IHDKR_5min,Iperez_5min):
        w.writerow(row)

如果这不起作用,您必须在Excel文本导入向导中手动声明分隔符。 您可以阅读如何here

Common Delimiters:

Tab = '\t'

分号= ';'

逗号= ','

space = ' '

例如:选择逗号作为分隔符

enter image description here