Saya menggunakan panda untuk menulis ke file excel dengan cara berikut:
import pandas
writer = pandas.ExcelWriter('Masterfile.xlsx')
data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2'])
writer.save()
Masterfile.xlsx sudah terdiri dari beberapa tab yang berbeda. Namun, itu belum mengandung "Utama".
Pandas menulis dengan benar ke sheet "Utama", sayangnya itu juga menghapus semua tab lainnya.
ExcelReader
Jawaban:
Dokumen Pandas mengatakan itu menggunakan openpyxl untuk file xlsx. Melihat sekilas kode di dalam
ExcelWriter
memberikan petunjuk bahwa sesuatu seperti ini mungkin berhasil:sumber
openpyxl
serta memberikan detail yang cukup: jenis rumus yang Anda miliki, bagaimana data diperbarui, bagaimana cara mengerem rumus. Sekarang saya tidak bisa membantu, terlalu banyak hal yang saya tidak tahu.Berikut adalah fungsi pembantu:
CATATAN: untuk Pandas <0.21.0, ganti
sheet_name
dengansheetname
!Contoh penggunaan:
sumber
Dengan
openpyxl
versi2.4.0
danpandas
versinya0.19.2
, proses yang dibuat oleh @ski menjadi sedikit lebih sederhana:sumber
Mulai dari pandas 0.24 Anda dapat menyederhanakannya dengan
mode
argumen kata kunciExcelWriter
:sumber
mode = 'a'
menambahkan lebih banyak lembar, tetapi bagaimana jika saya ingin menimpa data pada lembar yang sudah ada?Pertanyaan lama, tapi saya rasa beberapa orang masih mencari ini - jadi ...
Saya menemukan metode ini bagus karena semua lembar kerja dimuat ke dalam kamus nama lembar dan pasangan kerangka data, dibuat oleh panda dengan opsi nama lembar = Tidak ada. Sangat mudah untuk menambahkan, menghapus, atau memodifikasi lembar kerja antara membaca spreadsheet ke dalam format dict dan menulisnya kembali dari dict. Bagi saya xlsxwriter bekerja lebih baik daripada openpyxl untuk tugas khusus ini dalam hal kecepatan dan format.
Catatan: versi panda yang akan datang (0.21.0+) akan mengubah parameter "sheetname" menjadi "sheet_name".
Untuk contoh pada pertanyaan 2013:
sumber
Saya tahu ini adalah utas yang lebih lama, tetapi ini adalah item pertama yang Anda temukan saat mencari, dan solusi di atas tidak berfungsi jika Anda perlu menyimpan bagan di buku kerja yang sudah Anda buat. Dalam hal ini, xlwings adalah pilihan yang lebih baik - ini memungkinkan Anda untuk menulis ke buku excel dan menyimpan data grafik / grafik.
contoh sederhana:
sumber
Ada solusi yang lebih baik di panda 0.24:
sebelum:
setelah:
jadi tingkatkan panda Anda sekarang:
sumber
XslxWriter
opsi.engine=openpyxl
karena hanya akan menambahkan lembar kerja baru yang disebutthe only worksheet1
Ini berfungsi dengan baik, satu-satunya hal adalah pemformatan file master (file yang kami tambahkan lembar baru) hilang.
sumber
The "keep_date_col" harap membantu Anda
sumber
sumber
Metode:
Pemakaian:
sumber