【发布时间】:2017-11-19 06:43:31
【问题描述】:
我得到了包含许多 URL 的 csv 文件。为方便起见,我将其读入熊猫数据框。稍后我需要做一些统计工作——熊猫很方便。它看起来有点像这样:
import pandas as pd
csv = [{"URLs" : "www.mercedes-benz.de", "electric" : 1}, {"URLs" : "www.audi.de", "electric" : 0}, {"URLs" : "ww.audo.e", "electric" : 0}, {"URLs" : "NaN", "electric" : 0}]
df = pd.DataFrame(csv)
我的任务是检查网站是否包含某些字符串,如果是,则添加一个额外的列,如果是,则为 1,否则为 0。例如:我想检查,www.mercedes-benz.de 是否包含字符串 car。我执行以下操作:
for i, row in df.iterrows():
page_content = requests.get(row['URLs'])
if "car" in page_content.text:
df.loc[i, 'car'] = '1'
else:
df.loc[i, 'car'] = '0'
问题是:有时 URL 错误/丢失。我的小脚本导致错误。
如果 URL 错误/丢失,我该如何处理/抑制错误?而且,我怎么能例如在这些情况下使用 df.loc[i, 'url_wrong'] = '1' 表示 URL 错误/丢失?
【问题讨论】:
标签: python-3.x loops pandas error-handling get-request