【发布时间】:2015-12-25 19:52:22
【问题描述】:
为什么我会收到错误valueerror:I/O operation on closed file?
import urllib2
import csv
from bs4 import BeautifulSoup
url = "http://www.tendersinfo.com/rss/index.php?sector_name=0202¬ice_type=1,2,3,7,10,11,16,8"
with open('tender.csv', 'w') as csvfile:
fieldnames = ['TITLE', 'LINK', 'DESCRIPTION']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer = csv.writer(csvfile, delimiter=',')
resource = urllib2.urlopen(url)
url = resource.read()
soup = BeautifulSoup(url)
soup.prettify()
title = soup.find_all('title')
link = soup.find_all('link')
description = soup.find_all('description')
listIterator = []
listIterator[:] = range(2, 16)
for i in listIterator:
data = [[title[i].get_text('')]]
writer.writerow(data)
这里是错误:
C:\Python27\python.exe D:/PycharmProjects/tenderinfo/tendorinfo.py Traceback(最近一次通话最后一次):文件 “D:/PycharmProjects/tenderinfo/tendorinfo.py”,第 32 行,在 writer.writerow(data) ValueError: I/O operation on closed file
进程以退出代码 1 结束
我需要废弃该链接并将其放入 csv 文件中。请帮忙。
【问题讨论】:
-
在 python 中缩进不是可选的...
-
你为什么要创建一个 DictWriter 和一个 writer 而不是仅仅创建一个 writer 并将字段名写成一行?
标签: python xml csv web-scraping beautifulsoup