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

我想写一些文本到CSV文件。 当我打开它时,每个字母都是一个单元格。 但是我希望每个string都在一个单元格中。 我该怎么做。 我正在使用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 

你需要做一些改变。 首先,而不是writerows ,利用writerow 。 其次,你需要传递一个元素列表,而不是一个string:

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

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

Excel输出

首先,你应该正确地格式化你的string:

 Apples:10 Mangoes:15 bananas:20 

应该:

 Apples,10,Mangoes,15,bananas,20 

然后你可以写一个很容易导入到excel的CSV。

其次,如果你的最终目标是写出excel文件,你应该看看pandas导出你的数据到excel ,它有一个方便的方法:

 pandas.DataFrame.to_excel 

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

您可以简单地将您的长string分成您想要的每一行:

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

这将把你想要你的string分裂,然后分裂的地方的空间。