Lewati ke konten utama

Mengimpor dan Menulis Berkas Teks di Python

Artikel ini membahas berbagai cara mengimpor berkas teks ke Python menggunakan Python, NumPy, dan metode bawaan Python. Juga membahas cara mengonversinya menjadi list.
Diperbarui 28 Sep 2026  · 6 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Jalankan dan edit kode dari Tutorial ini secara online

Jalankan kode

Tutorial ini membahas cara membaca berkas teks di Python. Ini adalah langkah awal yang penting dalam proyek apa pun yang melibatkan data teks, khususnya Natural Language Processing (“NLP”). Ada beberapa nuansa dan jebakan umum saat mengimpor berkas teks ke Python, sehingga ilmuwan data sering kali harus meninggalkan paket yang sudah familier seperti pandas untuk menangani data teks secara lebih efisien.

Agar mendapatkan manfaat maksimal dari artikel ini, Anda sebaiknya memiliki pengetahuan dasar Python, khususnya memahami tipe data seperti perbedaan antara string, integer, dan list. Pemahaman tentang pandas dan apa itu dataframe juga akan berguna. 

Jika Anda ingin mengetahui cara mengimpor data dari berkas .csv, ini dibahas dalam Tutorial pandas read csv(): Mengimpor Data. Untuk mempelajari lebih lanjut tentang impor dari berkas JSON dan pickle (.pkl), lihat tutorial Mengimpor Data ke pandas. Jika Anda tertarik mengumpulkan data dari halaman HTML, Web Scraping menggunakan Python (dan Beautiful Soup) mungkin cocok untuk Anda. Atau, Anda bisa langsung mulai belajar di DataCamp dengan kursus interaktif Introduction to Importing Data in Python, bab pertama gratis.

Berkas Teks

Untuk tutorial ini, kita akan menggunakan berkas teks sederhana yang merupakan salinan paragraf pertama dari halaman Wikipedia tentang Natural Language Processing. Berkas ini disimpan dengan nama nlp_wiki.txt.  Isinya sebagai berikut:

"Natural language processing (NLP) is an interdisciplinary subfield of linguistics, computer science, and artificial intelligence concerned with the interactions between computers and human language, in particular how to program computers to process and analyze large amounts of natural language data. The goal is a computer capable of "understanding" the contents of documents, including the contextual nuances of the language within them. The technology can then accurately extract information and insights contained in the documents as well as categorize and organize the documents themselves. Challenges in natural language processing frequently involve speech recognition, natural-language understanding, and natural-language generation."

Mengimpor data teks di Python

Mengimpor data menggunakan fungsi pandas read_table()

Fungsi pandas read_table() dirancang untuk membaca berkas teks berdelimiter (misalnya spreadsheet yang disimpan sebagai berkas teks, dengan koma sebagai pemisah kolom) ke dalam sebuah dataframe. Berkas teks kita tidak berdelimiter. Ini hanya salinan teks. Namun, menggunakan pandas bisa menjadi cara yang berguna untuk melihat isi dengan cepat karena sintaks fungsi ini mirip dengan  read_csv(), yang sudah familier bagi sebagian besar ilmuwan data.

Kode di bawah ini dapat digunakan untuk membaca berkas teks menggunakan pandas.

pd.read_table('nlp_wiki.txt', header=None, delimiter=None)

Keluaran:

image1.png

Kita meneruskan nama berkas teks dan dua argumen ke fungsi read_table(). 

  • header=None memberi tahu pandas bahwa baris pertama berisi teks, bukan header. 
  • delimiter=None memberi tahu pandas untuk tidak memisahkan baris di mana pun (kecuali newline) sehingga ada satu kolom dengan satu baris per baris teks.

Dalam situasi ini, DataFrame tidak selalu ideal. Paragraf dipisahkan menjadi baris-baris individual (pandas menggunakan karakter newline untuk melakukan ini), dan kita tidak dapat melihat keluaran penuh. Opsi lain adalah memanggil metode .to_list() pada kolom tersebut.

pd.read_table('nlp_wiki.txt', header=None, delimiter=None)[0].to_list()

Keluaran:

image2.png

Ini mengembalikan list yang dapat diakses seperti list Python biasa. Ini juga menampilkan teks lengkap.

Menyesuaikan impor dengan read_table()

Fungsi read_table() memiliki banyak argumen kata kunci opsional, yang dapat Anda baca di dokumentasi resmi. Berikut beberapa yang paling berguna:

skiprows=n

image3.png

Ini melewati n baris pertama. Pada contoh kita, kita melewati baris pertama.

nrows=n

image4.png

Ini mempertahankan n baris pertama. Pada contoh kita, kita mempertahankan baris pertama.

skip_blank_lines= True  

pandas akan melewati nilai NaN apa pun alih-alih mengembalikan baris kosong.

Mengimpor data teks dengan loadtxt() milik NumPy

loadtxt() milik NumPy dirancang untuk membaca array angka dari berkas teks; namun, ini juga bisa digunakan untuk membaca baris teks. Ini nyaman jika Anda menggunakan NumPy di bagian analisis lainnya, karena keluarannya adalah array NumPy.

np.loadtxt('nlp_wiki.txt', dtype="str", delimiter="\0")

Keluaran:

image5.png

Sama seperti contoh pandas, kita meneruskan argumen delimiter untuk mencegah baris dipecah. Dalam kasus ini, delimiter harus satu karakter (menggunakan None berperilaku berbeda), sehingga kita menggunakan karakter "null termination", \0. Karena karakter ini tidak dapat berada di tengah string, menggunakannya berarti "jangan gunakan delimiter".

Kita juga meneruskan dtype="str" yang memberi tahu NumPy tipe data apa yang akan diberikan pada array hasil. Dalam kasus kita, kita menggunakan “str” yang mengembalikan string. Ini juga dapat dikonversi menjadi list menggunakan fungsi .tolist().

Mengimpor berkas teks dengan fungsi bawaan Python open()

Fleksibilitas maksimum dapat dicapai dengan menggunakan fungsionalitas bawaan Python. Ini kurang ramah pengguna dan terutama dirancang untuk rekayasa perangkat lunak. Solusi pandas atau NumPy umumnya sudah cukup untuk analisis data.

Untuk menggunakan open(), Anda juga memerlukan context manager, yaitu kata kunci with. Ini mengalokasikan sumber daya komputer Anda hanya saat kode bertanda inden di bawah with sedang berjalan. Dalam kasus ini, kita membuka file, melakukan loop dan menyimpannya di memori ke variabel lines, lalu menutupnya.

For loop di sini menggunakan list comprehension, setiap baris adalah baris sebagaimana diinterpretasikan oleh fungsi open(), yang dalam kasus ini adalah newline (\n).

Blok kode ini juga menggunakan fungsi strip(), yang menghapus spasi tambahan sebelum dan sesudah setiap objek (atau baris).

with open(filename) as file:
    lines = [line.strip() for line in file]

Keluaran:

image7.png

Seperti yang terlihat, ini menghasilkan satu list, di mana setiap item dalam list adalah satu paragraf. Tidak seperti contoh pandas dan NumPy, kita memiliki tiga objek di sini, karena teks aslinya memiliki dua newline di antara paragraf.

Sekarang setelah kita membahas cara mengimpor berkas teks di Python, mari lihat cara menulis berkas teks. Yang dimaksud menulis berkas adalah menyimpan berkas teks ke mesin Anda dari Python. Ini sangat berguna saat Anda telah memanipulasi berkas teks di Python dan ingin menyimpan keluarannya. 

Anda dapat menulis berkas teks di Python menggunakan metode bawaan write(). Ini juga memerlukan penggunaan open(), dan Anda juga memerlukan context manager, yaitu kata kunci with. Mari ilustrasikan dengan contoh:

with open("new_nlp_wiki.txt", "w") as file:
  file.write("New wiki entry: ChatGPT")

Pada contoh ini, kita membuka berkas bernama new_nlp_wiki.txt dalam mode tulis (argumen 'w'), yang berarti konten apa pun yang sudah ada di berkas akan ditimpa. Lalu kita memanggil metode write() pada objek file untuk menulis string “New wiki entry: ChatGPT” ke berkas.

Jika Anda ingin menambahkan teks ke berkas yang sudah ada alih-alih menimpanya, Anda bisa membuka berkas dalam mode append (argumen 'a') sebagai gantinya:

with open("new_nlp_wiki.txt", "a") as file:
    file.write("New wiki entry: ChatGPT")

Cara termudah untuk menulis berkas teks menggunakan pandas mungkin adalah dengan metode to_csv(). Mari kita lihat contohnya!

nlp_wiki = pd.read_table("nlp_wiki.txt", header=None, delimiter=None)
nlp_wiki.to_csv("nlp_wiki_pandas.txt", sep="\t", index=False)

Pada baris kode pertama, kita membaca berkas teks menggunakan metode read_table() seperti dijelaskan pada bagian sebelumnya. Lalu kita menyimpan berkas menggunakan metode to_csv() dan menentukan pemisah sebagai karakter tab ('\t') serta menyetel argumen index ke False untuk mengecualikan indeks baris dari keluaran.

Ringkasan

Semoga Anda menikmati tutorial ini! Sebagai rangkuman, berikut yang telah kita bahas:

Topik
Python

Kursus Python

Kursus

Pengantar Python

4 jam
7.1M
Kuasai dasar-dasar analisis data dengan Python dalam 4 jam. Kursus online ini memperkenalkan antarmuka Python dan pustaka populer.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

Lihat SelengkapnyaLihat Selengkapnya