Python writer.writerow(数据)值错误:对关闭的文件执行I/O操作

Python writer.writerow(数据)值错误:对关闭的文件执行I/O操作,python,xml,csv,web-scraping,beautifulsoup,Python,Xml,Csv,Web Scraping,Beautifulsoup,为什么我会得到错误valueerror:I/O操作关闭的文件 import urllib2 import csv from bs4 import BeautifulSoup url = "http://www.tendersinfo.com/rss/index.php?sector_name=0202&notice_type=1,2,3,7,10,11,16,8" with open('tender.csv', 'w') as csvfile: fieldnames =

为什么我会得到错误
valueerror:I/O操作关闭的文件

import urllib2
import csv


from bs4 import BeautifulSoup

url = "http://www.tendersinfo.com/rss/index.php?sector_name=0202&notice_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:/pycharm项目/tenderinfo/tendorinfo.py 回溯(最近一次调用上次):文件 “D:/pycharm项目/tenderinfo/tendorinfo.py”,第32行,in writer.writerow(数据)值错误:对关闭的文件执行I/O操作

进程已完成,退出代码为1


我需要废弃该链接并将其放入csv文件中。请帮忙。

这是一个缩进问题。将最后一个块移动到带有主体的
下:

with open('tender.csv', 'w') as csvfile:
    # ...

    # the following block should also be under "with" since it uses "writer"
    # which writes to csvfile that needs to be opened for writing at this moment
    listIterator = []
    listIterator[:] = range(2, 16)
    for i in listIterator:
        data = [[title[i].get_text('')]]
        writer.writerow(data)

这是一个缩进问题。将最后一个块移动到带有
主体的
下:

with open('tender.csv', 'w') as csvfile:
    # ...

    # the following block should also be under "with" since it uses "writer"
    # which writes to csvfile that needs to be opened for writing at this moment
    listIterator = []
    listIterator[:] = range(2, 16)
    for i in listIterator:
        data = [[title[i].get_text('')]]
        writer.writerow(data)

这是一个缩进问题。将最后一个块移动到带有
主体的
下:

with open('tender.csv', 'w') as csvfile:
    # ...

    # the following block should also be under "with" since it uses "writer"
    # which writes to csvfile that needs to be opened for writing at this moment
    listIterator = []
    listIterator[:] = range(2, 16)
    for i in listIterator:
        data = [[title[i].get_text('')]]
        writer.writerow(data)

这是一个缩进问题。将最后一个块移动到带有
主体的
下:

with open('tender.csv', 'w') as csvfile:
    # ...

    # the following block should also be under "with" since it uses "writer"
    # which writes to csvfile that needs to be opened for writing at this moment
    listIterator = []
    listIterator[:] = range(2, 16)
    for i in listIterator:
        data = [[title[i].get_text('')]]
        writer.writerow(data)

在python中,缩进不是可选的…为什么要创建DictWriter和writer,而不仅仅是创建一个writer并将字段名作为行写入?在python中,缩进不是可选的…为什么要创建DictWriter和writer,而不仅仅是创建一个writer并将字段名作为行写入?在python中,缩进不是可选的可选…为什么要创建DictWriter和writer,而不仅仅是创建一个writer并将字段名作为一行写入?在python中,缩进不是可选的…为什么要创建DictWriter和writer,而不仅仅是创建一个writer并将字段名作为一行写入?我对python编程不熟悉,如果缩进有问题,请在这里输入正确的格式化代码行,这样我就可以使用Beautifulsoup将XML解析为csv。我是python编程新手,如果缩进有问题,请在这里输入正确的格式化代码行,因此,我可以使用Beautifulsoup将XML解析为csv我对python编程不熟悉,因此缩进有问题,请您在这里输入正确的格式化代码行,以便我可以使用Beautifulsoup将XML解析为csv我对python编程不熟悉,所以缩进有问题,请在这里输入正确格式的代码行,以便我可以使用beautifulsoup将XML解析为csv