Apabila bekerja dengan fail Excel sedia ada, adalah penting untuk mengelak daripada menulis ganti data. Dalam Pandas, anda boleh menghadapi isu ini apabila menulis ke fail sedia ada menggunakan kaedah to_excel().
Kod berikut cuba menulis DataFrame pada helaian tertentu dalam Excel sedia ada fail:
import pandas writer = pandas.ExcelWriter('Masterfile.xlsx') data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2']) writer.save()
Masalah timbul kerana Pandas memadam semua helaian lain dalam fail, meninggalkan hanya helaian yang baru dibuat bernama "Utama."
Untuk menangani isu ini, kami boleh memanfaatkan perpustakaan openpyxl, yang Pandas gunakan secara dalaman untuk mengendalikan fail XLSX. Dengan memuatkan buku kerja sedia ada menggunakan openpyxl.load_workbook() dan memberikannya kepada objek ExcelWriter, kami boleh mengubah suai kamus helaian untuk memastikan helaian sedia ada dikekalkan.
Berikut ialah kod yang diubah suai:
import pandas from openpyxl import load_workbook book = load_workbook('Masterfile.xlsx') writer = pandas.ExcelWriter('Masterfile.xlsx', engine='openpyxl') writer.book = book # Assign the sheet dictionary to preserve existing sheets writer.sheets = dict((ws.title, ws) for ws in book.worksheets) data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2']) writer.save()
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Data Pandas pada Fail Excel Sedia Ada Tanpa Mengganti Helaian Sedia Ada?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!