написать дополнительные данные, чтобы превзойти их после создания - PullRequest
0 голосов
/ 11 апреля 2019
import pandas as pd
df1 = pd.DataFrame(Numpy_Array1)
df2 = pd.DataFrame(Numpy_Array2)
writer = pd.ExcelWriter('Results.xlsx', engine='xlsxwriter')
df1.to_excel(writer, sheet_name = 'Array1')
df2.to_excel(writer, sheet_name = 'Array2')
writer.save()

Здравствуйте. Я написал несколько фреймов данных для Excel с помощью ExcelWriter, и теперь я хочу добавить следующие элементы к каждому листу непосредственно под последней строкой каждого листа (оставив одну свободную строку между ними):

a=10
b=20
c=40
d=80 

как мне это сделать?

1 Ответ

0 голосов
/ 11 апреля 2019

Вот один из способов сделать это:

import pandas as pd

Numpy_Array1 = [10, 20, 30, 20, 15]
Numpy_Array2 = [10, 20, 30, 20, 15, 30, 45]

df1 = pd.DataFrame(Numpy_Array1)
df2 = pd.DataFrame(Numpy_Array2)

writer = pd.ExcelWriter('Results.xlsx', engine='xlsxwriter')

df1.to_excel(writer, sheet_name = 'Array1')
df2.to_excel(writer, sheet_name = 'Array2')


workbook = writer.book

worksheet = writer.sheets['Array1']
last_row = len(Numpy_Array1) + 2  # Allow for header row and padding.
col = 0
worksheet.write(last_row + 0, col, 'a')
worksheet.write(last_row + 1, col, 'b')
worksheet.write(last_row + 2, col, 'c')
worksheet.write(last_row + 3, col, 'd')

col = 1
worksheet.write(last_row + 0, col, 10)
worksheet.write(last_row + 1, col, 20)
worksheet.write(last_row + 2, col, 40)
worksheet.write(last_row + 3, col, 80)

# Repeat for Numpy_Array2 or add a loop.

writer.save()

Выход:

enter image description here

Ключом к решению является получение дескриптора базовой книги и оттуда рабочей таблицы. См. Работа с пандами документации по XlsxWriter для получения дополнительной информации.

...