Bagaimana cara mengekspor daftar DataFrames menjadi satu spreadsheet Excel?
Dokumen untuk to_excel
negara bagian:
Catatan
Jika melewatkan objek ExcelWriter yang ada, maka lembar tersebut akan ditambahkan ke buku kerja yang sudah ada. Ini bisa digunakan untuk menyimpan DataFrames yang berbeda ke satu buku kerja
writer = ExcelWriter('output.xlsx')
df1.to_excel(writer, 'sheet1')
df2.to_excel(writer, 'sheet2')
writer.save()
Setelah ini, saya pikir saya bisa menulis fungsi yang menyimpan daftar DataFrames ke satu spreadsheet sebagai berikut:
from openpyxl.writer.excel import ExcelWriter
def save_xls(list_dfs, xls_path):
writer = ExcelWriter(xls_path)
for n, df in enumerate(list_dfs):
df.to_excel(writer,'sheet%s' % n)
writer.save()
Namun (dengan daftar dua DataFrames kecil, yang masing-masing dapat disimpan satu to_excel
per satu), pengecualian dimunculkan (Edit: traceback dihapus) :
AttributeError: 'str' object has no attribute 'worksheets'
Agaknya saya tidak menelepon ExcelWriter
dengan benar, bagaimana seharusnya saya melakukan ini?
ExcelWriter
sebagai pengelola konteks.with ExcelWriter(xls_path) as writer: df.to_excel(writer, sheet_name)
'sheet%s' % n
sedikit? Apa fungsinya dan bagaimana cara kerjanya?Jika ada yang membutuhkan contoh bagaimana melakukan ini dengan kamus kerangka data:
from pandas import ExcelWriter def save_xls(dict_df, path): """ Save a dictionary of dataframes to an excel file, with each dataframe as a seperate page """ writer = ExcelWriter(path) for key in dict_df: dict_df[key].to_excel(writer, key) writer.save()
contoh:
save_xls(dict_df = my_dict, path = '~/my_path.xls')
sumber
'%s' % key
itu? Maukah Anda menjelaskannya? Terima kasih!Terkadang ada masalah (Menulis file excel yang berisi unicode), jika ada beberapa tipe karakter non pendukung dalam bingkai data. Untuk mengatasinya kita bisa menggunakan paket ' xlsxwriter ' seperti pada kasus di bawah ini:
untuk kode di bawah ini:
from pandas import ExcelWriter import xlsxwriter writer = ExcelWriter('notes.xlsx') for key in dict_df: data[key].to_excel(writer, key,index=False) writer.save()
Saya mendapatkan error sebagai "IllegalCharacterError"
Kode yang berfungsi:
%pip install xlsxwriter from pandas import ExcelWriter import xlsxwriter writer = ExcelWriter('notes.xlsx') for key in dict_df: data[key].to_excel(writer, key,index=False,engine='xlsxwriter') writer.save()
sumber