带特定列的python csv输出

2024-10-02 12:31:51 发布

您现在位置:Python中文网/ 问答频道 /正文

所有人。我在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)

Tags: 文件csvimporttree属性html详细信息class
1条回答
网友
1楼 · 发布于 2024-10-02 12:31:51

看看这个链接是否有用 How to add a new column to a CSV file using Python?

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

eg(伪码):

my\u csv\u dict={'发布':[],'工作经验'=[]}

对于发布记录中的元素: my\u csv\u dict['pub'].append(元素)

对于工作经验记录中的要素: my\u csv\u dict['work\u exp'].append(元素)

csv文件=csv.DictWriter文件(文件\指针,字段名=我的\ csv)_听写键()) csv文件_文件.writerows(我的字典)

相关问题 更多 >

    热门问题