【发布时间】:2019-11-19 19:59:41
【问题描述】:
我正在尝试更新一个 csv 文件,https://www.kaggle.com/carolzhangdc/imdb-5000-movie-dataset。
在这个 csv 文件的末尾,我试图将一个新的 url 附加到电影的图像中。
我的代码在下面
import csv
from bs4 import BeautifulSoup
import urllib2
with open('movie_metadata.csv') as csv_file:
csv_reader = csv.reader(csv_file, delimiter=',')
line_count = 0
for row in csv_reader:
if line_count == 0:
print('Column names are {}'.format(", ".join(row)))
row[-1] = "movie_links"
line_count += 1
else:
imdb_link = row[17]
soup = BeautifulSoup(urllib2.urlopen(imdb_link).read(), features="html.parser")
link = soup.find_all('div', {'class': 'poster'})
if link:
row[-1] = link[0].find('img')['src']
line_count += 1
print('Processed {} lines.'.format(line_count))
我正在 row[-1] 创建一个新行并尝试更新 csv 文件 if link:
但它根本没有更新我的 csv 文件,在我运行我的代码后它保持不变。
【问题讨论】:
-
好像没有回信?
-
您正在使用 csv 阅读器。读者不写。使用 csv writer 编写。
-
尝试修改 CSV 将比您需要的要困难得多。您需要读入整个文件,创建新内容,并在 1 go 中覆盖整个文件
标签: python python-3.x csv