【发布时间】:2019-10-31 20:38:46
【问题描述】:
我有一个excel文件如下:
import pandas as pd
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)
pd.options.display.max_colwidth
df = pd.read_excel("./test.xlsx")
print(df)
输出:
city buildingName buildingID imgType imgUrl
0 bj LG tower 123456 inside http://pic3.nipic.com/20090629/827780_144001014_2.jpg
1 bj LG tower 123456 outside http://pic.baike.soso.com/p/20140321/20140321160157-391052318.jpg
2 sh LXD 123457 inside http://pic10.nipic.com/20101008/2634566_104534032717_2.jpg
3 gz GM 123458 inside http://pic1.to8to.com/case/day_120720/20120720_fb680a57416b8d16bad2kO1kOUIzkNxO.jpg
我需要通过读取和迭代列imgUrl来下载图像并将图像保存到由列city, buildingName, buildingId, imgType.组合的路径中
最终的输出文件夹和子文件夹的结构是这样的,它们会保存在一个名为output的文件夹中:
├── bj
│ └── LG tower_123456
│ ├── inside
│ │ └── 827780_144001014_2.jpg
│ └── outside
│ └── 20140321160157-391052318.jpg
├── gz
│ └── GM_123458
│ └── inside
│ └── 2634566_104534032717_2.jpg
├── sh
│ └── LXD_123457
│ └── inside
│ └── 20120720_fb680a57416b8d16bad2kO1kOUIzkNxO.jpg
如何在 Python 中做到这一点?提前感谢您的帮助。
我已尝试下载一张图片:
import requests
r = requests.get("http://pic1.to8to.com/case/day_120720/20120720_fb680a57416b8d16bad2kO1kOUIzkNxO.jpg")
if r.status_code == 200:
with open("test.jpg", "wb") as f:
f.write(r.content)
【问题讨论】:
-
这里有很多事情要做,我先看看
pandas和os模块的文档。os.mkdir()例如可以创建一个目录。可以通过多种方式迭代 pandas 数据框列,然后您可以创建一个循环来迭代数据框,创建目录并从 URL 保存图像。这也可能有帮助:pandas.pydata.org/pandas-docs/stable/getting_started/10min.html
标签: python pandas loops operating-system