Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Menambah Data Pandas pada Fail Excel Sedia Ada Tanpa Mengganti Helaian Sedia Ada?

Bagaimanakah Saya Boleh Menambah Data Pandas pada Fail Excel Sedia Ada Tanpa Mengganti Helaian Sedia Ada?

Linda Hamilton
Lepaskan: 2024-12-11 11:09:11
asal
941 orang telah melayarinya

How Can I Append Pandas Data to an Existing Excel File Without Overwriting Existing Sheets?

Menyimpan Data Panda ke Fail Excel Sedia Ada Menggunakan Openpyxl

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().

Masalah

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()
Salin selepas log masuk

Masalah timbul kerana Pandas memadam semua helaian lain dalam fail, meninggalkan hanya helaian yang baru dibuat bernama "Utama."

Penyelesaian

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()
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan