我有一个包含3列的excel文件:id,url1和url2。 url1和url2都包含图像的URL。
如何获取图像并以表格格式粘贴到WORD和PDF?有3列:id,来自url1的图像和来自url2的图像。
import pandas as pd
import urllib
from docx import Document
from docx.shared import Inches
df = pd.read_excel('data.xlsx')
document = Document()
p = document.add_paragraph()
r = p.add_run()
r.add_picture('a.jpg')#OK
url = r'http://www.example.com/a.jpg'
r.add_picture(urllib.request.urlopen(url))#fail, how to do it?
document.save('demo.docx')
非常感谢。
答案 0 :(得分:1)
编辑:
我还没有真正使用urllib,但我可以使用
x = requests.get("https://www.pythonsheets.com/_static/guido.png")
然后我可以使用:
打开文件from PIL import Image
from StringIO import StringIO
Image.open(StringIO(x.content)).show()
因此,这表明我可以使用请求打开下载图像文件。您可以尝试在单词文档中保存x.content
。
答案 1 :(得分:1)
试试这个:
import io
import urllib
from docx import Document
from docx.shared import Inches
document = Document()
p = document.add_paragraph()
r = p.add_run()
url = r'http://www.example.com/a.jpg'
io_url = io.BytesIO(urllib.request.urlopen(url).read())
r.add_picture(io_url)
document.save('demo.docx')