Как с использованием библиотеки Openpyxl записать кортеж значений в диапазон ячеек?

Как я могу записать весь кортеж в диапазон ячеек одновременно? У меня есть кортеж с заголовками и я хочу записать его в ячейки A1:J1 на листе Excel. Я попробовал использовать код ws['A1'].value = heading[0], но он записывает только одно значение из кортежа в ячейку A1. Как мне записать весь кортеж разом?
  • 6 мая 2024 г. 22:30
Ответы на вопрос 2
Для записи всего кортежа значений в диапазон ячеек можно воспользоваться следующим кодом с использованием библиотеки Openpyxl:

```python
import openpyxl

# Создаем новый документ Excel
wb = openpyxl.Workbook()
ws = wb.active

# Ваш кортеж значений
heading = ('Заголовок1', 'Заголовок2', 'Заголовок3', 'Заголовок4', 'Заголовок5',
           'Заголовок6', 'Заголовок7', 'Заголовок8', 'Заголовок9', 'Заголовок10')

# Записываем весь кортеж в диапазон ячеек A1:J1
for i, value in enumerate(heading, start=1):
    ws.cell(row=1, column=i, value=value)

# Сохраняем документ
wb.save('example.xlsx')
```

Этот код создаст новый документ Excel и запишет все значения из вашего кортежа `heading` в диапазон ячеек A1:J1 на активном листе.
Решил вот таким способом. Скажите это очень плохое решение? 
import pandas as pd
import sqlite3
from openpyxl import Workbook

from openpyxl.reader.excel import load_workbook

wb = load_workbook(filename='Сборочный.xlsx')
ws = wb.active

col = ("A1", "B1", "C1", "D1", "E1", "F1", "G1", "H1", "I1", "J1")
heading = ('Номер поставки', 'Код товара', 'Позиция', 'Номер партии', 'Срок годности', 'Коробов', 'ЕИ', 'Маршрут', 'номер а/м', 'Ячейка отбора')
for sheet in wb.sheetnames:
    i = 0
    ws = wb[sheet]
    while i < len(col):
        ws[col[i]].value = heading[i]
        i += 1
wb.save('Сборочный.xlsx')
Похожие вопросы