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

Bagaimanakah Saya Boleh Menambah Helaian Baharu pada Fail Excel Sedia Ada Tanpa Mengganti Data Menggunakan Panda?

Linda Hamilton
Linda Hamiltonasal
2024-11-03 04:12:03870semak imbas

How Can I Add New Sheets to an Existing Excel File Without Overwriting Data Using Pandas?

Menyimpan Helaian Baharu dalam Fail Excel Sedia Ada dengan Panda

Matlamatnya adalah untuk menulis berbilang helaian ke dalam fail Excel sedia ada tanpa menulis ganti yang sedia ada data.

Kod Asal:

Kod yang disediakan menyimpan dua DataFrames kepada dua helaian dalam fail Excel menggunakan enjin 'xlsxwriter'. Walau bagaimanapun, percubaan untuk menambah helaian baharu mengakibatkan kehilangan data asal.

Menggunakan Enjin 'openpyxl':

Untuk mengekalkan data sedia ada, gunakan 'openpyxl' enjin. Kod di bawah menunjukkan cara untuk melakukannya:

import panda sebagai pd
import numpy sebagai np
daripada openpyxl import load_workbook

path = r"C:UsersfedelDesktopexcelDataPhD_data .xlsx"

Buat fail Excel dengan helaian awal

x1 = np.random.randn(100, 2)
df1 = pd.DataFrame(x1)

x2 = np.random.randn(100, 2)
df2 = pd.DataFrame(x2)

writer = pd.ExcelWriter(path, engine='xlsxwriter')
df1.to_excel (penulis, sheet_name='x1')
df2.to_excel(writer, sheet_name='x2')
writer.close()

Muat buku kerja dan lampirkan pada penulis

buku = load_workbook(path)
writer = pd.ExcelWriter(path, engine='openpyxl')
writer.book = book

Tambah helaian dan DataFrames baharu

x3 = np.random.randn(100, 2)
df3 = pd.DataFrame(x3)

x4 = np.random.randn(100, 2)
df4 = pd.DataFrame (x4)

df3.to_excel(penulis, sheet_name='x3')
df4.to_excel(writer, sheet_name='x4')
writer.close()

Memahami Kod:

  • load_workbook memuatkan fail Excel sedia ada.
  • Lampirkan buku kerja yang dimuatkan pada objek penulis menggunakan writer .book = book.
  • Tambah helaian dan DataFrames baharu seperti sebelum menggunakan to_excel.
  • Tutup penulis untuk menyimpan perubahan.

Kod bergelung melalui lembaran kerja dalam buku kerja dan memberikannya kepada kamus yang kuncinya ialah tajuk helaian dan nilainya ialah objek helaian. Ini membolehkan penulis menambahkan helaian dan data baharu pada fail sedia ada tanpa menulis ganti helaian sedia ada.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Helaian Baharu pada Fail Excel Sedia Ada Tanpa Mengganti Data Menggunakan Panda?. 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