【发布时间】:2017-08-15 07:39:32
【问题描述】:
我有一堆要写入文件的 URL。我将 URL 存储在 pandas 数据框中。
数据框有两列:url 和 id。我正在尝试从url 请求每个 URL 并将其写入名为id 的文件中。
这是我目前得到的:
def get_link(url):
file_name = os.path.join('/mypath/foo/bar', df.id)
try:
r = requests.get(url)
except Exception as e:
print("Failded to get " + url)
else:
with open(file_name, 'w') as f:
f.write(r.text)
df.url.apply(lambda l: get_link(l))
但是当我调用该函数时,它显然会失败,因为 os.path.join 需要 string 而不是 series。因此我收到错误join() argument must be str or bytes, not 'Series'
有什么想法可以同时调用df.id 和df.url?
谢谢你/R
【问题讨论】:
-
顺便说一句:不要使用笼统的
Exception。保持具体,以免无意中吞下您可能不想要的其他问题。
标签: python python-3.x function pandas lambda