如何在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一个如下所示的文档:
首先,你应该正确地格式化你的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分裂,然后分裂的地方的空间。