如何使用python中的csv文件将文本写入excel

时间:2015-11-19 15:12:02

标签: python string excel csv text

我正在尝试将一些文本写入csv文件。当我打开它时,每个字母都是一个单元格。但我希望每个字符串都在一个单元格中。我该怎么做。我使用的是python 2.7.10

以下是简单的代码:

with open("output.csv",'wb') as f:
   writer = csv.writer(f, dialect='excel')
   writer.writerows('Apples:10 Mangoes:15 bananas:20')

我希望输出像这样(共6个单元格)

Apples    10     Mangoes    15    Bananas    20

3 个答案:

答案 0 :(得分:2)

您需要进行一些更改。首先,使用writerow而不是writerows。其次,您需要传递元素列表而不是字符串:

writer.writerow(['Apples','10','Mangoes','15','bananas','20'])

这将创建一个如下所示的文档:

Excel output

答案 1 :(得分:2)

首先,您应该正确格式化字符串:

Apples:10 Mangoes:15 bananas:20

应该是:

Apples,10,Mangoes,15,bananas,20

然后您可以编写一个可以轻松导入到Excel中的CSV。

其次,如果您的最终目的地是撰写excel文件,您应该查看Pandas to export your data to excel,它有方便的方法:

pandas.DataFrame.to_excel

如果您的数据更简单,您可以直接使用xlswriter

答案 2 :(得分:1)

您可以简单地将长字符串拆分为所需的每一行:

    my_str = 'Apples:10 Mangoes:15 bananas:20'
    writer.writerow( my_str.replace(':',' ').split() )

将把空格放在你希望你的字符串拆分的地方,然后拆分它。