Этот вопрос закрыт для ответов, так как повторяет вопрос Как выполнить поиск и копирование данных в Excel с помощью Python?

Как перенести данные с Python в Excel?

Как сделать так чтобы через Python создавался файл Excel и в таблицу через цикл дописывались данные в столбики? Гуглил, находил информацию только уже через собранные данные в словаре/массиве, а не циклично дописывались постоянно
  • Вопрос задан
  • 321 просмотр
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Окей, гугл, python create excel document. Находим xlsxwriter. Эту часть ты сделал.

Дальше придётся прочитать (а не просто скопипастить) пример и чутка включить голову.
import xlsxwriter

# Create a workbook and add a worksheet.
workbook = xlsxwriter.Workbook('Expenses01.xlsx')
worksheet = workbook.add_worksheet()

# Some data we want to write to the worksheet.
expenses = (
    ['Rent', 1000],
    ['Gas',   100],
    ['Food',  300],
    ['Gym',    50],
)

# Start from the first cell. Rows and columns are zero indexed.
row = 0
col = 0

# Iterate over the data and write it out row by row.
for item, cost in (expenses):
    worksheet.write(row, col,     item)
    worksheet.write(row, col + 1, cost)
    row += 1

# Write a total using a formula.
worksheet.write(row, 0, 'Total')
worksheet.write(row, 1, '=SUM(B1:B4)')

workbook.close()

Что мы видим в этом коде? Что метод worksheet.write() принимает в качестве параметров строку и столбец, куда нужно записать значения. Т.е. нам нет необходимости писать их в определённом порядке, мы можем их писать как нам удобнее.
А чего мы НЕ видим? А мы не видим какого-либо задания лимитов по количеству строк/столбцов. Значит, мы не обязаны знать заранее, сколько строк/столбцов у нас будет в данных, а можем писать по мере поступления новых данных.

Отсюда вывод: данная библиотека подходит нам до тех пор, пока мы для каждой порции данных можем сказать, в какую ячейку эта порция должна попасть, т.е. можем определить значения row и col. Обрати внимание, что в примере позиция (номер строки) просто хранится переменной и меняется по мере чтения данных, а номер столбца определяется в зависимости от записываемого элемента данных. Этот подход прекрасно подойдёт к описанной задаче, единственная разница - у тебя строки будут зависеть от элемента данных, а столбцы будут наращиваться по мере чтения входных данных.

В чём сложность адаптировать этот пример к твоей задаче?
Ответ написан
Ответы на вопрос 1
Maksim_64
@Maksim_64
Data Analyst
Гуглил, находил информацию только уже через собранные данные в словаре/массиве, а не циклично дописывались постоянно
Ну так правильно у данных должна быть структура соответствующая что бы в excel писалось по столбцам. еще удобнее это создавать новый pandas фрейм в цикле (для каждых новых данных) и добавлять через него в excel. У него есть метод to_excel у него есть параметр mode там можно поставить 'a' что бы файл не перезаписывался а строки добавлялись туда, а также параметр header его можно поставить в False что бы имена столбцов не писались и других куча что бы проблем не возникло. Примеров документация статьи в интернете.
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы