XLSX 编写器:使用嵌套循环写入图像
XLSX writer: write images with nested loop
我有一个包含图像 URL 的列表,我想将每个图像插入到 xlsx 文件的新行中(因此第 1 行中的图像 1,第 2 行中的图像 2,等等)。
但是我的嵌套循环出了点问题。在我当前的代码中,每个图像都被插入到每一行中(因此第 1 行中的图像 1、2 和 3,依此类推)。我用这个嵌套循环尝试了很多东西,但无法理解它。您可以在下面找到我到目前为止提出的代码。非常感谢任何帮助!
import xlsxwriter
from io import BytesIO
from urllib.request import urlopen
urls = ['http://resizing.flixster.com/M_qLa6b79ltj089zlncMGyVd7-0=/128x128/v1.YzszMDExO2o7MTg1ODU7MjA0ODs4NzI7ODcy',
'http://resizing.flixster.com/RiZZxnhbXJxoVeEiiegBPtAMJYI=/128x128/v1.YzszNzAzO2o7MTg1ODU7MjA0ODszMDA7MzAw',
'http://resizing.flixster.com/_5Pu-PGT3sdzRa0aQHiP8AGGmSI=/128x128/v1.YzszNjk4O2o7MTg1ODU7MjA0ODszMDA7MzAw']
workbook = xlsxwriter.Workbook('test.xlsx')
worksheet = workbook.add_worksheet('Sheet1')
worksheet.write('A1', 'image critic')
for url in urls:
for row in range(1,len(urls)+1):
image_data = BytesIO(urlopen(url).read())
worksheet.insert_image(f'A{row}', url[row-1], {'image_data': image_data})
workbook.close()
对于那些好奇的人,这些图片 url 指的是从 Rottentomatoes.com
中抓取的影评人
使用enumerate
得到每个URL的row
值:
import xlsxwriter
from io import BytesIO
from urllib.request import urlopen
urls = ['http://resizing.flixster.com/M_qLa6b79ltj089zlncMGyVd7-0=/128x128/v1.YzszMDExO2o7MTg1ODU7MjA0ODs4NzI7ODcy',
'http://resizing.flixster.com/RiZZxnhbXJxoVeEiiegBPtAMJYI=/128x128/v1.YzszNzAzO2o7MTg1ODU7MjA0ODszMDA7MzAw',
'http://resizing.flixster.com/_5Pu-PGT3sdzRa0aQHiP8AGGmSI=/128x128/v1.YzszNjk4O2o7MTg1ODU7MjA0ODszMDA7MzAw']
workbook = xlsxwriter.Workbook('test.xlsx')
worksheet = workbook.add_worksheet('Sheet1')
worksheet.write('A1', 'image critic')
for row, url in enumerate(urls):
image_data = BytesIO(urlopen(url).read())
worksheet.insert_image(f'A{row+1}', url, {'image_data': image_data})
workbook.close()
输出:
我有一个包含图像 URL 的列表,我想将每个图像插入到 xlsx 文件的新行中(因此第 1 行中的图像 1,第 2 行中的图像 2,等等)。
但是我的嵌套循环出了点问题。在我当前的代码中,每个图像都被插入到每一行中(因此第 1 行中的图像 1、2 和 3,依此类推)。我用这个嵌套循环尝试了很多东西,但无法理解它。您可以在下面找到我到目前为止提出的代码。非常感谢任何帮助!
import xlsxwriter
from io import BytesIO
from urllib.request import urlopen
urls = ['http://resizing.flixster.com/M_qLa6b79ltj089zlncMGyVd7-0=/128x128/v1.YzszMDExO2o7MTg1ODU7MjA0ODs4NzI7ODcy',
'http://resizing.flixster.com/RiZZxnhbXJxoVeEiiegBPtAMJYI=/128x128/v1.YzszNzAzO2o7MTg1ODU7MjA0ODszMDA7MzAw',
'http://resizing.flixster.com/_5Pu-PGT3sdzRa0aQHiP8AGGmSI=/128x128/v1.YzszNjk4O2o7MTg1ODU7MjA0ODszMDA7MzAw']
workbook = xlsxwriter.Workbook('test.xlsx')
worksheet = workbook.add_worksheet('Sheet1')
worksheet.write('A1', 'image critic')
for url in urls:
for row in range(1,len(urls)+1):
image_data = BytesIO(urlopen(url).read())
worksheet.insert_image(f'A{row}', url[row-1], {'image_data': image_data})
workbook.close()
对于那些好奇的人,这些图片 url 指的是从 Rottentomatoes.com
中抓取的影评人使用enumerate
得到每个URL的row
值:
import xlsxwriter
from io import BytesIO
from urllib.request import urlopen
urls = ['http://resizing.flixster.com/M_qLa6b79ltj089zlncMGyVd7-0=/128x128/v1.YzszMDExO2o7MTg1ODU7MjA0ODs4NzI7ODcy',
'http://resizing.flixster.com/RiZZxnhbXJxoVeEiiegBPtAMJYI=/128x128/v1.YzszNzAzO2o7MTg1ODU7MjA0ODszMDA7MzAw',
'http://resizing.flixster.com/_5Pu-PGT3sdzRa0aQHiP8AGGmSI=/128x128/v1.YzszNjk4O2o7MTg1ODU7MjA0ODszMDA7MzAw']
workbook = xlsxwriter.Workbook('test.xlsx')
worksheet = workbook.add_worksheet('Sheet1')
worksheet.write('A1', 'image critic')
for row, url in enumerate(urls):
image_data = BytesIO(urlopen(url).read())
worksheet.insert_image(f'A{row+1}', url, {'image_data': image_data})
workbook.close()
输出: