Write File Python: Cara Menulis File dan Contoh Code
Pelajari tentang write file python sekaliguc ontoh code-nya di artikel berikut ini.
Data Analytics
Bobby Christian
Sebagai data analyst, kita perlu membuat sebuah laporan tertulis dalam bentuk file mengenai kondisi data yang kita miliki. Apakah kita perlu mengetikkan satu per satu data yang ada pada database, lalu kita simpan data tersebut dalam sebuah file?
Hal ini merupakan hal yang tidak efisien. Pencatatan secara manual memerlukan banyak waktu, terutama apabila data tersebut terus bertambah di database, alhasil kita harus meng-update data tersebut dari waktu ke waktu.
Lalu ada juga risiko human error, yaitu kesalahan yang diakibatkan oleh orang yang melakukan input data tersebut ke dalam file. Tentunya kita tidak menginginkan hal ini terjadi.
Python sebagai sebuah bahasa pemrograman dapat melakukan hal ini untuk kita. Seperti yang telah dibahas pada artikel Python - Read File, selain membaca sebuah file, Python juga dapat menuliskan sebuah file. Hal ini kita lakukan untuk pembuatan sebuah report dan mengurangi human error akibat penulisan secara manual yang dilakukan oleh manusia.
Bagaimana Cara Menjalankan Python Write File?
Untuk dapat memahami bagaimana cara Python bisa menuliskan sebuah file, perhatikan contoh data berikut ini:
Dengan menuliskan sebuah sintaks Python berikut ini:
Kita dapat lihat bahwa pada contoh di atas, kita memiliki sebuah text file, yaitu superhero.txt. File tersebut dapat kita baca dengan menuliskan sintaks sederhana open(<nama_file>,<mode>), di mana untuk membaca, kita menuliskan mode tersebut yaitu ‘r’ yang berarti read. Perlu diperhatikan bahwa file tersebut perlu berada pada 1 folder yang sama dengan skrip Python yang kita gunakan. Apabila lokasi file tersebut berbeda, kita bisa menuliskan lokasi file tersebut dalam bentuk path.
Untuk menuliskan sebuah file, secara sederhana kita bisa mengganti mode tersebut menjadi ‘w’ yang berarti write. Perhatikan pada contoh berikut, kita akan memindahkan isi dari file superhero.txt ke dalam sebuah text file baru yang bernama marvel_hero.txt dengan menggunakan sintaks yang sama seperti di atas.
Secara sederhana, kita bisa menggunakan cara yang sama seperti ketika kita membaca sebuah file, untuk menuliskan sebuah file sederhana. Kita hanya perlu mengganti mode penulisan yang kita gunakan dari r ke w untuk menuliskan data pada file. Perhatikan juga perbedaan singkat ketika kita menggunakan read dan write.
Ketika kita menggunakan read, kita tidak perlu menuliskan close() pada akhir statement, sedangkan pada saat menggunakan write kita perlu menuliskan close(). Hal ini digunakan untuk mencegah adanya perubahan yang tidak disengaja pada file, sehingga kita perlu menutup file setelah selesai menuliskan perubahan pada file tersebut. Selain itu, operating system yang kita gunakan juga membatasi banyaknya file yang dapat dibuka sekaligus, dimana jumlah limitnya adalah sekitar ribuan.
Jenis-jenis Mode File Handling di Python
Mengutip Scaler, berikut beberapa mode untuk file handling di Python:
- Read-only (‘r’): Mode ini hanya memperbolehkan Python untuk hanya membaca file tersebut, biasa disimbolkan dengan ‘r’. Jika mode tidak dituliskan, maka secara default, Python akan mengatur modenya sebagai mode ini. Ketika file yang ingin dibaca tidak tersedia, maka fungsi akan menampilkan error.
- Write-only (‘w’): Mode ini digunakan apabila kita ingin menambahkan tulisan di dalam sebuah file, biasa disimbolkan dengan ‘w’. Apabila file awalnya tidak tersedia, maka Python akan otomatis membuat file baru, dan apabila file tersedia, maka Python akan mengganti semua konten yang berada dalam file dengan tulisan yang baru.
- Append (‘a): Mode ini sama dengan mode ‘w’, hanya saja apabila ‘w’ menghapus isi konten yang lama dengan isi konten baru yang kita tuliskan, mode ‘a’ ini menambahkan konten baru setelah tulisan di dalam konten awal berakhir.
- Read and Write (‘r+’): Mode ini memungkinkan data analyst untuk membaca dan menuliskan tulisan ke dalam file dalam saat yang bersamaan. Jika file awalnya tidak tersedia, maka akan mengeluarkan error.
- Write and Read (‘w+’): Perbedaan mendasar antara mode ini dengan mode ‘r+’ adalah pada mode ‘r+’ akan gagal apabila pada awalnya file tidak tersedia. Namun, pada mode ‘w+’ ini apabila file awalnya tidak tersedia, maka file akan terbentuk dengan isi yang kita tuliskan, lalu pada saat yang bersamaan kita dapat membaca isi konten tersebut.
- Append and Read (‘a+’): Pada mode ini, Python akan menambahkan konten dulu ke file yang tersedia, lalu membaca file tersebut.
Contoh Penerapan Fungsi Write File di Python untuk Reporting
Pada umumnya, kita perlu menuliskan data ke dalam sebuah file karena digunakan untuk sebuah pelaporan. Karena itu, kita akan mencoba aplikasi yang lebih kompleks untuk melakukan pembacaan data dari database, lalu menuliskannya ke dalam bentuk pelaporan.
Kita akan mencoba untuk membaca data dari Google BigQuery, yaitu public data dari iowa_sales_liquor. Kita ingin mengambil data bulanan pada bulan Mei 2023, menyimpan kesimpulan hasil penjualan data tersebut, lalu menjadikannya sebuah laporan yang dapat dibaca dalam bentuk file.
Kita dapat menyimpan file tersebut dalam bentuk CSV agar lebih mudah untuk diolah dalam sistem selanjutnya. Hal pertama yang akan kita buat adalah bagaimana cara kita membaca data dari Google BigQuery. Kita akan menggunakan library pandas, dan juga menggunakan query SQL untuk menarik data tersebut dari database.
Yang kita lakukan diatas adalah, kita menggunakan perintah authenticate_user() yang disediakan oleh Google Colab untuk memberikan kita akses dari Google BigQuery kepada Google Colab yang kita pakai.
Setelah kita mendapatkan akses authentication dari Google BigQuery, kita akan mengeksekusi sebuah query menggunakan salah satu fungsi bawaan pandas, yaitu pd.read_gbq(). Pd.read_gbq() berfungsi untuk menjalankan sebuah query pada data di bigquery dan menyimpan hasilnya dalam bentuk DataFrame. Dataframe tersebut dapat kita baca dengan memanggil nama dataframe tersebut.
Setelah kita memiliki data yang kita ambil dari BigQuery, yang menampilkan data penjualan dari Iowa Liquor selama bulan Mei 2023, kita akan menyimpan data tersebut ke dalam sebuah file, yang akan digunakan untuk pelaporan nantinya.
Untuk menyimpan file tersebut, kita memiliki dua macam cara, yaitu dengan fungsi open() yang sebelumnya kita telah bahas, atau kita menggunakan fungsi bawaan dari pandas, yaitu to_csv() untuk menyimpan data tersebut menjadi sebuah file. Perhatikan contoh berikut untuk menyimpan file dengan menggunakan fungsi open():
Kita menggunakan sintaks yang sama seperti yang kita gunakan sebelumnya ketika kita menuliskan sebuah file. Sebelum kita menuliskan isi dari dataframe, kita menggunakan fungsi df.to_csv() untuk mengubah format dataframe menjadi sebuah format yang dapat dibaca oleh file. Setelah itu, kita menuliskan data tersebut ke dalam file.
Selain menggunakan fungsi open(), kita juga dapat langsung membuat sebuah file csv dengan menggunakan fungsi bawaan pandas, yaitu to_csv. Perhatikan contoh penulisannya berikut ini:
Kedua cara tersebut akan memberikan kita hasil yang sama. Perlu diingat bahwa kita hanya menggunakan to_csv() apabila kita memiliki data yang berbentuk dataframe.
Apabila data yang kita miliki tidak berbentuk dataframe dan hanya ingin menuliskan data tersebut saja sebagai sebuah string, kita bisa menuliskannya dengan menggunakan fungsi open() seperti contoh awal yang telah kita bahas, dan mengubah modenya menjadi write.
Penutup
Dengan menggunakan fungsi open() sama seperti yang kita gunakan saat kita membaca file, kita bisa juga menuliskan sebuah file.
Selain itu, karena menulis sebuah file ini aplikasi umumnya digunakan untuk sebuah pelaporan, kita juga perlu mempelajari bagaimana caranya untuk membaca data dari berbagai sumber, dimana beberapa diantaranya adalah file dan bigquery yang seperti dijabarkan pada contoh diatas. Kemudian kita menyimpan data tersebut ke dalam bentuk file yang dapat digunakan untuk proses analisis selanjutnya.