具有特定列的python csv输出

时间:2016-04-22 06:39:01

标签: python csv

大家。我在我的csv文件的前4列中完成了4个属性(publicationtitle,publicationurl,publicationdate,publicationdescription)以及下面的详细信息。如何开始在接下来的3列中添加另外3个属性及其在输出csv文件中的详细信息。(如您所见,前4个属性和后3个属性来自不同的循环系统)

import csv
from bs4 import BeautifulSoup

fconn=open('D:\\Resumes\\Resume1.html')
html=fconn.read()
fconn.close()

tree=BeautifulSoup(html)

publication=tree.findAll('div',{'class':'publication-section'})
with open('D:\\ResumesClassification\\test.csv', 'wb') as csvfile:
publicationwriter=csv.writer(csvfile,dialect='excel')
publicationwriter.writerow(['publicationtitle']+['publicationurl']+['publicationdate']+['publicationdescription'])
for i in publication:

    publicationtitle=i.find('p',{'class':'publication_title'})
    if publicationtitle!=None:
       publicationtitle=publicationtitle.text
       publicationtitle=publicationtitle.encode('ascii','ignore')
    else:
        publicationtitle="publication title not metioned"    
    ......     
    publicationwriter.writerow([publicationtitle,publicationurl,publicationdate,publicationdescription])              

workexperience=tree.findAll('div',{'class':'work-experience-section'})
for i in workexperience:
.....(just like the publication stuff, there are titles, dates and descriptions)

1 个答案:

答案 0 :(得分:1)

查看此链接是否有帮助 How to add a new column to a CSV file using Python?

一个建议是,如果你知道需要在csv文件中放入多少列,那么构造一个列表或一个字典变量列表,以存储每个循环的所有结果,并在结束时脚本,编写for循环或使用DictWriter将其输出到您的csv文件。此链接可能有所帮助。 https://docs.python.org/2/library/csv.html#csv.DictWriter

例如(伪代码):

my_csv_dict = {' pub':[],' work_exp' = []}

for publication_records中的元素:     my_csv_dict ['酒馆&#39]。追加(元件)

for work_experience_records中的元素:     my_csv_dict [' work_exp&#39]。追加(元件)

csv_file = csv.DictWriter(file_pointer,fieldnames = my_csv_dict.keys()) csv_file.writerows(my_csv_dict)