Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menambahkan Pandas DataFrame pada Helaian Excel Sedia Ada dalam Python Tanpa Timpa Ganti?

Bagaimanakah Saya Boleh Menambahkan Pandas DataFrame pada Helaian Excel Sedia Ada dalam Python Tanpa Timpa Ganti?

DDD
DDDasal
2024-12-03 12:49:11627semak imbas

How Can I Append a Pandas DataFrame to an Existing Excel Sheet in Python Without Overwriting?

Tambah Helaian Excel Sedia Ada dengan Bingkai Data Baharu Menggunakan Python Panda

Masalah:

Anda mempunyai fail Excel sedia ada dan Bingkai Data Pandas. Anda ingin menambahkan DataFrame ke penghujung helaian Excel sedia ada tanpa menimpanya.

Penyelesaian:

Terdapat dua pendekatan utama untuk menambah data pada Excel sedia ada helaian menggunakan Panda:

Pendekatan 1: Menggunakan ExcelWriter

import pandas as pd

df = pd.DataFrame(...)

with pd.ExcelWriter('existing_sheet.xlsx', mode='a', engine='openpyxl') as writer:
    df.to_excel(writer, sheet_name='Sheet1', header=False, index=False, startrow=writer.sheets['Sheet1'].max_row + 1)

Pendekatan 2: Menggunakan Openpyxl dan Panda

import pandas as pd
from openpyxl import load_workbook

df = pd.DataFrame(...)

# Load existing Excel workbook
book = load_workbook('existing_sheet.xlsx')
sheet = book['Sheet1']

# Find last row in existing Excel sheet
last_row = sheet.max_row

# Append DataFrame data to existing sheet starting from last row + 1
pd.DataFrame.to_excel(df, book, sheet_name='Sheet1', startrow=last_row + 1, index=False)

# Save changes to existing Excel file
book.save('existing_sheet.xlsx')

Petua Tambahan:

  • Jika helaian tidak wujud, Panda akan membuat secara automatik ia.
  • Anda boleh menentukan baris mula untuk menambahkan data menggunakan parameter startrow.
  • Untuk mengekalkan gaya sel sedia ada, tetapkan with_style=True dalam fungsi copy_excel_cell_range apabila menggunakan pendekatan Openpyxl dan Pandas.
  • Untuk versi Pandas < 1.4.0, gunakan fungsi pembantu dalam contoh kod terpaut untuk menambahkan data tanpa menulis ganti.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambahkan Pandas DataFrame pada Helaian Excel Sedia Ada dalam Python 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