Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menambah Data pada Helaian Excel Sedia Ada Menggunakan Panda Tanpa Timpa Ganti?

Bagaimanakah Saya Boleh Menambah Data pada Helaian Excel Sedia Ada Menggunakan Panda Tanpa Timpa Ganti?

DDD
DDDasal
2024-12-25 05:57:13796semak imbas

How Can I Append Data to an Existing Excel Sheet Using Pandas Without Overwriting?

Menulis ke Fail Excel Sedia Ada tanpa Mengganti Data Menggunakan Panda

Apabila menggunakan panda untuk menulis ke fail Excel tanpa menimpa data sedia ada, senario biasa timbul apabila anda ingin menambah helaian baharu kepada fail yang dibuat sebelum ini. Walau bagaimanapun, tingkah laku lalai panda menimpa keseluruhan fail, memadamkan sebarang tab sedia ada. Untuk mengatasi isu ini, kami boleh memanfaatkan perpustakaan openpyxl.

Integrasi Openpyxl dengan Pandas ExcelWriter

Pandas menggunakan openpyxl untuk mengendalikan fail XLSX. Dengan menetapkan parameter 'enjin' secara eksplisit dalam ExcelWriter kepada 'openpyxl', kami boleh mendapatkan akses kepada kawalan yang lebih terperinci ke atas kandungan fail.

Pelaksanaan Kod

import pandas
from openpyxl import load_workbook

book = load_workbook('Masterfile.xlsx')
writer = pandas.ExcelWriter('Masterfile.xlsx', engine='openpyxl')
writer.book = book

# Populate a dictionary of existing sheets for ExcelWriter
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)

# Write to the desired sheet without overwriting
data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2'])

writer.save()

Dalam kod ini:

  • Kami memuatkan fail Excel sedia ada menggunakan openpyxl's load_workbook.
  • Kami mencipta objek Pandas ExcelWriter dengan parameter 'enjin' ditetapkan kepada 'openpyxl,' memautkannya ke buku kerja kami yang dimuatkan.
  • Kami mengisi kamus writer.sheets dengan helaian sedia ada untuk menghalang ExcelWriter daripada mencipta helaian "Utama" baharu.
  • Kami menulis data yang kami kehendaki pada Helaian "Utama" tanpa menulis ganti mana-mana bahagian lain dalam buku kerja.
  • Akhir sekali, kami menyimpan buku kerja yang dikemas kini untuk mengekalkan perubahan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Data pada Helaian Excel Sedia Ada Menggunakan Panda Tanpa Timpa Ganti?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn