Menulis ke Fail Excel Sedia Ada Tanpa Ditimpa: Penyelesaian Pandas
Apabila bekerja dengan fail Excel menggunakan panda, tulis ke helaian sedia ada tanpa menulis ganti data sedia ada boleh menjadi cabaran biasa. Masalah ini timbul apabila panda menggunakan gelagat lalai ExcelWriter, yang menimpa data sedia ada dengan mencipta helaian baharu.
Untuk memintas isu ini, anda boleh memanfaatkan parameter "enjin" ExcelWriter, yang membolehkan anda menentukan enjin Excel asas. Dengan menetapkan parameter ini kepada "openpyxl", anda boleh menyepadukan kefungsian openpyxl dengan panda.
Berikut ialah kod yang menangani masalah:
import pandas from openpyxl import load_workbook # Load the existing Excel workbook book = load_workbook('Masterfile.xlsx') # Create an ExcelWriter object using the openpyxl engine writer = pandas.ExcelWriter('Masterfile.xlsx', engine='openpyxl') # Set the ExcelWriter's book attribute to the loaded workbook writer.book = book # Assign sheet names to the writer object's sheets attribute writer.sheets = dict((ws.title, ws) for ws in book.worksheets) # Write data to the existing sheet data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2']) # Save the updated workbook writer.save()
Dengan menyatakan enjin "openpyxl", yang diubah suai kod memanfaatkan keupayaan openpyxl untuk mengakses helaian sedia ada dalam buku kerja. Ini membolehkan panda menambahkan data pada helaian "Utama" tanpa menimpa tab lain.
Perhatikan bahawa anda mesti memastikan helaian "Utama" wujud dalam buku kerja asal sebelum menjalankan kod ini untuk mengelak daripada membuat helaian baharu jika helaian itu tidak wujud.
Atas ialah kandungan terperinci Bagaimanakah Panda Boleh Menambah Data pada Helaian Excel Sedia Ada Tanpa Ditimpa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!