我正在尝试将一些文本写入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
答案 0 :(得分:2)
您需要进行一些更改。首先,使用writerow
而不是writerows
。其次,您需要传递元素列表而不是字符串:
writer.writerow(['Apples','10','Mangoes','15','bananas','20'])
这将创建一个如下所示的文档:
答案 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() )
将把空格放在你希望你的字符串拆分的地方,然后拆分它。