csv.writerow写入列而不是行

时间:2017-04-28 23:01:43

标签: python

我有一个Python测试文件,它是一个字符串列表,我试图导出到csv文件中,以便字符串中的每个单词都在csv文件的单个列中。但是,我的代码将每个单词放在一行中的单独列中。我已阅读其他有关此网站上类似问题的评论,他们建议将语法更改为wr.writerows([csv_data])。此修改不适用于下面的代码。我是Python的初学者,所以非常感谢有关如何解决这个问题的任何建议。

testfile=['free', 'great', 'congratulations', 'great', 'kind', 'freedom']

import csv
with open("pos_words_pre.csv",'w') as resultFile_pos_pre:
    wr_pos_pre = csv.writer(resultFile_pos_pre)
    wr_pos_pre.writerow(testfile)

非常感谢你的帮助

编辑:上面的代码会将csv文件中的所有单词放在同一行中,例如:
自由,伟大,祝贺,伟大,善良,自由

但我正在尝试创建一个文件,该文件在同一列中包含每个条目,但是有一个单独的行,例如:

free
great
congratulations
great
kind
freedom

我虽然写作者会将每个条目写入excel csv文件中的单独行而不是同一行。你知道怎么解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

import csv testfile=['free', 'great', 'congratulations', 'great', 'kind', 'freedom'] with open("pos_words_pre.csv",'w') as resultFile_pos_pre: wr_pos_pre = csv.writer(resultFile_pos_pre) for row in testfile: wr_pos_pre.writerow([row]) 写一行。如果要编写多行并使用此函数,则必须为每一行单独调用它:

with open("pos_words_pre.csv",'w') as resultFile_pos_pre:
    wr_pos_pre = csv.writer(resultFile_pos_pre)
    wr_pos_pre.writerows(([row] for row in testfile))

或者,您可以一次写多行:

$old_date_timestamp = strtotime($purchase_data['verify-purchase']['supported_until']);
$new_date = date('d F Y', $old_date_timestamp);
print $new_date;