I'm tryng to use a Tkinter window to ask for data entries, then take those entries, store the data into a Pandas DataFrame and later export the DataFrame to Excel. I want to store several rows of data from these user entries, and to save after each entry. Later I want to export the stored data. But my problem is I can't seem to get the data into a DataFrame. I've managed to export, an Excel file, but the only value it stored was Blank. Is there an easy way to get those values and insert them into a DataFrame? I'm familiar with Pandas and know how to export, but I'm fairly new to Tkinter. Show I have tried inserting data with insert() to the DataFrame, I've tried using entry.get() to store the values and pass them to the DataFrame, but none of those worked. I've now tried to use get() for the values, store them into a list and then turn that list into a DataFrame, but the values just won't go into the DataFrame. I haven't tried openpyxl because the examples I have read don't seem to work for what I have in mind, meaning that I could manage to export a file with the example data but not for the actual purpose of my code.
I expect to receive an exported Excel file that shows a DataFrame with the values that were written in the Entry boxes. For Example: there are 3 entries and I want an Excel with several rows that show those 3 entries in 3 columns: "Number", "Description" and "Brand". Instead, I get a Blank Excel. I know that my code is not clean yet, I haven't refactored or tidied up since I'm tryng to get a functional MVP for my idea. Thanks for any feedback or ideas! Indonesian (Bahasa Indonesia) translation by Yosef Andreas (you can also view the original English article) Saya percaya kamu telah menggunakan Microsoft Excel pada beberapa kesempatan. Itu sangat ampuh ketika berkerja dengan spreadsheet, table, chart, dll. Namun apa yang harus dilakukan Python dengan itu? Python adalah pengubah arah permainan ketika berhubungan dengan file Excel karena itu dapat mengotomatisasi hal-hal menakutkan yang mungkin akan kamu hadapi dalam beberapa tugas terkait Excel. Sebagai contoh, kamu mungkin diminta untuk mencari beberapa informasi dalam ratusan spreadsheet budget perusahaan. Sangat mengerikan, bukan? Dalam tutorial ini, saya akan menunjukkan bagaimana Python dapat digunakan dengan mudah untuk berkerja dengan dokumen Excel. Oh, jangan khawatir jika kamu tidak memiliki Microsoft Excel yang terinstal dalam mesinmu. Kamu dapat menggunakan alternatif lainnya untuk mengikuti tutorial ini, seperti LibreOffice Calc dan OpenOffice Calc. Jadi, mari kita mulai! OpenPyXL
Hal pertama yang perlu kita lakukan untuk memanfaatkan librari ini adalah menginstal Menginstal OpenPyXLUntuk menginstal Sistem manajemen package yang digunakan untuk menginstal dan mengelola paket software yang ditulis dalam Python. Banyak paket dapat ditemukan dalam Python Package Index (PyPI). Kamu dapat mengikuti tahap-tahap yang disebutkan dalam
Panduan Pemakai Python Packaging untuk menginstal
Membuka Sebuah Dokumen ExcelSetelah menginstal Sebelum kita dapat menggunakan
Metode yang kita
perlukan untuk membuka dokumen Excel adalah import openpyxl excel_document = openpyxl.load_workbook('sample.xlsx') Mari sekarang kita lihat
Ini akan menampilkan hasil berikut: <class 'openpyxl.workbook.workbook.Workbook'> Seperti yang dapat kita lihat, obyek yang dikembalikan adalah
Nama SheetSheet dalam Excel terdiri dari kolom (dengan huruf dimulai dari A, B, C, dll.) dan baris (mulai dari 1, 2, 3, dll.) Untuk memeriksa sheet apa yang kita punya dalam dokumen Excel kita, kita menggunakan metode
Jika kita melakukan
Sehingga
menunjukkan bahwa kita memiliki satu sheet, bernama Jika kamu memiliki banyak sheet, kamu dapat mengakses sheet tertentu berdasarkan namanya menggunakan metode ini: Mengakses CellSekarang setelah kita mempelajari bagaimana membuka sebuah file Excel dan mendapatkan sheet, mari kita lihat betapa mudahnya untuk mengakses sebuah cell dalam sheet tersebut. Yang harus kamu lakukan adalah menarik sheet tersebut, dan kemudian menentukan lokasi (koordinat) cell
itu. Mari katakan bahwa kita ingin mengakses kolom sheet = excel_document.get_sheet_by_name('Sheet1') print sheet['A2'].value Dalam hal ini, kamu akan memiliki nilai berikut yang dikembalikan: Kita dapat juga menggunakan notasi baris-kolom. Sebagai contoh, jika kita ingin mengakses cell pada baris
Hasil dalam hal ini akan menjadi: Jika kita ingin melihat jenis obyek yang mewakili cell, kita dapat mengetikkan:
atau:
Dalam hal ini, kamu akan mendapatkan output berikut:
yang berarti bahwa obyek adalah jenis Mengakses Rentang CellBagaimana jika kamu tertarik dalam mengakses rentang cell daripada hanya satu cell? Mari katakan kita ingin mengakses cell dari Ini dapat dilakukan menggunakan script berikut: multiple_cells = sheet['A1':'B3'] for row in multiple_cells: for cell in row: print cell.value Dalam hal ini, kamu akan mendapatkan output berikut: Name Profession Abder Student Bob Engineer Mengakses Semua Baris dan Kolom
Untuk mengakses semua baris, kita dapat melakukan sebagai berikut: all_rows = sheet.rows print all_rows[:] Perhatikan bahwa kita menggunakan notasi Output dari script di atas akan menjadi seperti berikut: ((<Cell Sheet1.A1>, <Cell Sheet1.B1>), (<Cell Sheet1.A2>, <Cell Sheet1.B2>), (<Cell Sheet1.A3>, <Cell Sheet1.B3>), (<Cell Sheet1.A4>, <Cell Sheet1.B4>), (<Cell Sheet1.A5>, <Cell Sheet1.B5>), (<Cell Sheet1.A6>, <Cell Sheet1.B6>), (<Cell Sheet1.A7>, <Cell Sheet1.B7>)) Di sisi lain, jika kita ingin mengakses semua kolom, kita cukup melakukan sebagai berikut: all_columns = sheet.columns print all_columns[:] Dalam hal ini, kamu akan mendapatkan output berikut: ((<Cell Sheet1.A1>, <Cell Sheet1.A2>, <Cell Sheet1.A3>, <Cell Sheet1.A4>, <Cell Sheet1.A5>, <Cell Sheet1.A6>, <Cell Sheet1.A7>), (<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>, <Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)) Tentu saja ada lebih banyak yang dapat kamu lakukan dengan dokumen Excel, seperti yang dapat kamu lihat dalam dokumentasi OpenPyXL. KesimpulanDari tutorial ini, kita telah menyadari bagaimana fleksibelnya untuk berkerja dengan dokumen Excel menggunakan Python. Ingat skenario yang disebutkan pada awal tutorial ini? Itu cukup berharga untuk dicoba sebagai project! |