从python将多个字符串写入csv

时间:2015-07-06 16:44:42

标签: python

我编写了一个python web scraper,想把我收到的数据字符串输出到csv / excel文件中。到目前为止,我有一个for循环访问多个数据库网站并将数据存储在一个字符串中。我想在每次完成网页报废之前弹出这些字符串,然后再转到下一页。

有人建议创建一个完整的存储库或字典,然后引用它。我尝试实现它,但我的代码改为在一个单元格中返回一个数据而不是跨越多个单元格,因为我在顶部有一个标题将数据分隔成我想要的属性。

Substances = []
Whole_list = []
f = open(filename)  # chemtest.txt 
for sub in f: 
    Substances.append(sub)
    print sub

for substance in Substances: 
    #some logic 
    names1 = [data ]
    Whole_list.append(names1)

with open('chemtest.csv', 'wb') as myfile:  #creates new chemtest.csv
    wr = csv.writer(myfile)
    wr.writerow(Whole_list)

到目前为止,我通过2个网站作为测试,我的输出是:

names1 = ['Acetaldehyde', 'Acetaldehyde', '75-07-0', 'GO1N1ZPR3B', 'CC=O']
Whole_list = [['Acetaldehyde', 'Acetaldehyde', '75-07-0', 'GO1N1ZPR3B', 'CC=O']]
names1 = ['Acetone', 'Acetone', '67-64-1', '1364PS73AF', '=O']
Whole_list = [['Acetaldehyde', 'Acetaldehyde', '75-07-0', 'GO1N1ZPR3B', 'CC=O'], ['Acetone', 'Acetone', '67-64-1', '1364PS73AF', '=O']]

我的方法究竟有什么问题,如何改进?

1 个答案:

答案 0 :(得分:2)

使用writerows(请注意最后的 s )。 writerow用于一次写一行。

wr.writerows(Whole_list)

作为旁注,大写变量名通常保留给类,所以更喜欢whole_list