13 мая 2019 г. 23:36

162

Создание Excel файла на Python

Недавно мне понадобилось экспортировать данные в excel файл.На python это делается очень легко. Поэтому мы чуть усложним пример. Будем скачивать изображения и вставим их Excel файл.

Для создания Excel файла мы будем использовать xlsxwriter


pip install xlsxwriter

Для начала создадим пустой Excel файл


import xlsxwriter

workbook = xlsxwriter.Workbook('example.xlsx')
worksheet = workbook.add_worksheet()
workbook.close()


Теперь давайте добавим данные в наш файл


from io import BytesIO
import xlsxwriter
from urllib.request import urlopen

works = [
    {
    'id' : 1,
    'name': 'Work 1',
    'image_url': 'https://dagstyazhka.ru/static/img/content/tPOXB2KXhck.jpg',
    },
    {
    'id' : 2,
    'name': 'Work 2',
    'image_url': 'https://dagstyazhka.ru/static/img/content/-iNioTY6Mw.jpg',
    },
    {
    'id' : 3,
    'name': 'Work 3',
    'image_url': 'https://dagstyazhka.ru/static/img/content/-iNioTY6Mw.jpg',
    },
]
workbook = xlsxwriter.Workbook('example.xlsx')
worksheet = workbook.add_worksheet()
worksheet.write(0, 0, 'ID')
worksheet.write(0, 1, 'Name')
worksheet.write(0, 2, 'Image_url')
i = 1
for work in works:
    worksheet.write(i, 0, work.get('id'))
    worksheet.write(i, 1, work.get('name'))
    image_url = work.get('image_url')
    image_data = BytesIO(urlopen(image_url).read())
    worksheet.insert_image(i,2, image_url, {'image_data': image_data})
    i +=1

workbook.close()

С помощью python и библиотеки xlsxwriter буквально за пару строчек кода можно загрузить любые данные в Excel файл и при необходимости отформатировать их

comments powered by Disqus