Inilah tugas kita. Kami memiliki file teks yang berisi data numerik. Kami ingin membaca konten file ke dalam array Numpy dan daftar Python. Gunakan np. fungsi loadtxt[] untuk menulis teks Anda ke dalam array dan fungsi objek file read[] untuk mengisi daftar Python
Persiapan Data #1
Asumsikan bahwa Anda memiliki file teks yang berisi nilai yang dibatasi koma berikut
0,1,2,3,4,32,4,2,4,62,1
Ini adalah kode untuk membuat file
numbers = "0,1,2,3.5,4.5,32.1,4,2.2,4,62,1"
file_path =r'C:\WorkDir\numbers.txt'
with open [file_path, 'w'] as my_file:
my_file.write[numbers]
_Ke samping. Perhatikan bahwa Anda harus mengonversi memastikan bahwa variabel angka adalah string dan bukan tupel atau daftar di sini karena jika tidak, Anda akan menerima kesalahan ketik
TypeError: write[] argument must be str, not list # or tuple, or int if passed to the file object write function
Terkait. Cara membaca daftar menjadi file teks dengan Python
#2 Baca file teks ke dalam array Numpy
Kita dapat menggunakan metode numpy loadtxt[] untuk membaca teks atau file csv yang dipisahkan koma menjadi objek ndarray. Ingatlah untuk mengimpor perpustakaan numpy ke namespace Anda sebelum menjalankan np. loadtxt[]
import numpy as np
numbers_array = np.loadtxt[r'C:\WorkDir\numbers.txt', delimiter=',']
Kita kemudian dapat dengan mudah melihat isi array
print[numbers_array]
_Ini akan mengembalikan objek ndarray berikut
[ 0. 1. 2. 3.5 4.5 32.1 4. 2.2 4. 62. 1. ]
Catatan. kecuali pembatas ditentukan, Anda akan mendapatkan kesalahan nilai
ValueError: could not convert string to float_
#3 Baca csv atau txt ke dalam daftar
Demikian pula, kita juga bisa menambahkan konten file ke dalam Python
with open [file_path, 'r'] as my_file:
numbers_lst = my_file.read[].split[',']
print[numbers_lst]
Ini akan menghasilkan daftar string Python. Kita dapat menggunakan pemahaman daftar sederhana untuk mengubahnya menjadi bilangan bulat
['0', '1', '2', '3.5', '4.5', '32.1', '4', '2.2', '4', '62', '1']
_Penjelasan. Pertama-tama kita buka file teks atau csv untuk read only, kemudian kita gunakan fungsi read[] untuk menambahkan konten file ke dalam objek string. Terakhir, karena nilai dalam file kita dibatasi oleh koma, kita menggunakan metode pemisahan string untuk mengisi daftar kita
Catatan. gunakan fungsi readlines[] untuk membaca setiap baris dalam file Anda menjadi elemen daftar, dan fungsi readline[] untuk membaca setiap baris dalam file Anda baris demi baris
Kode berikut menunjukkan cara menggunakan fungsi open[] untuk membaca file teks bernama my_data. txt ke dalam daftar dengan Python.#define text file to open
my_file = open['my_data.txt', 'r']
#read text file into list
data = my_file.read[]
#display content of text file
print[data]
4
6
6
8
9
12
16
17
19
_Contoh 2. Baca File Teks Ke Dalam Daftar Menggunakan loadtxt[]
Kode berikut menunjukkan cara menggunakan fungsi NumPy loadtxt[] untuk membaca file teks bernama my_data. txt ke dalam array NumPy
from numpy import loadtxt
#import text file into NumPy array
data = loadtxt['my_data.txt']
#display content of text file
print[data]
[ 4. 6. 6. 8. 9. 12. 16. 17. 19.]
#display data type of NumPy array
print[data.dtype]
float64
Hal yang menyenangkan tentang penggunaan loadtxt[] adalah kita dapat menentukan tipe data saat mengimpor file teks dengan menggunakan argumen dtype
Dengan melanjutkan, Anda menyetujui Ketentuan Layanan dan Kebijakan Privasi kami, dan Anda setuju untuk menerima penawaran dan peluang dari Career Karma melalui telepon, pesan teks, dan email
Dalam panduan ini, kita membahas cara menggunakan metode
with open["grilled_cheese.txt", "r"] as grilled_cheese: lines = grilled_cheese.readlines[] print[lines]1 untuk membaca file teks ke dalam daftar. Kami akan merujuk ke sebuah contoh sehingga Anda dapat mulai membaca file teks ke dalam daftar dengan cepat
Piton. Baca File Teks ke dalam Daftar
Mari kita mulai dengan file teks bernama grill_cheese. txt. File ini berisi bahan untuk sandwich keju panggang. Konten file kami terlihat seperti ini
2 tbsp, ricotta 1 tbsp, grated parmesan 50g, mozzarella 25g, gorgonzola 2, thick slices white bread 1 tbsp, butter
Kolom pertama di file kami berisi jumlah setiap bahan yang akan digunakan. Kolom kedua berisi nama bahan
Kami membaca file ini ke dalam kode kami menggunakan metode
with open["grilled_cheese.txt", "r"] as grilled_cheese: lines = grilled_cheese.readlines[] print[lines]3 dan
with open["grilled_cheese.txt", "r"] as grilled_cheese: lines = grilled_cheese.readlines[] print[lines]0
with open["grilled_cheese.txt", "r"] as grilled_cheese: lines = grilled_cheese.readlines[] print[lines]
Dalam kode kami, kami membuka file bernama “grilled_cheese. txt” dalam mode baca. Mode baca dilambangkan dengan karakter “r” dalam pernyataan
with open["grilled_cheese.txt", "r"] as grilled_cheese: lines = grilled_cheese.readlines[] print[lines]3 kami. Selanjutnya, kami mencetak baris tersebut ke konsol
Mari kita lihat apa yang dikembalikan oleh kode Python kita
['2 tbsp, ricotta\n', '1 tbsp, grated parmesan\n', '50g, mozzarella\n', '25g, gorgonzola\n', '2, thick slices white bread\n', '1 tbsp, butter\n']
Kode kami mengembalikan daftar setiap baris dalam file kami. Ini bukan hasil yang kami harapkan. Meskipun kami telah membaca file kami ke dalam daftar, kami memiliki masalah. setiap baris disimpan dalam stringnya sendiri. Bahan dan jumlahnya tidak terpisah
» LAINNYA. Iterasi Melalui Kamus Python. Panduan Langkah Demi Langkah
Membagi Nilai menjadi Daftar
Untuk mengatasi masalah ini, kami menggunakan metode split[]. Metode ini memungkinkan kita membagi string menggunakan karakter pemisah yang kita tentukan
Untuk memulai, kami mendeklarasikan dua daftar. jumlah dan bahan. Kode ini akan tetap menjorok karena merupakan bagian dari
with open["grilled_cheese.txt", "r"] as grilled_cheese: lines = grilled_cheese.readlines[] print[lines]3 blok kode kami
quantities = [] ingredients = []
Kami akan mengulangi daftar kami sehingga kami dapat mengakses setiap baris teks dari file kami. Kemudian kami akan membagi setiap baris menjadi dua bagian. Titik pemisahnya adalah koma diikuti dengan spasi pada setiap baris
for l in lines: as_list = l.split[", "] quantities.append[as_list[0]] ingredients.append[as_list[1]]
Perulangan for memungkinkan kita membaca file kita baris demi baris. Nilai pertama dalam “as_list” adalah jumlah bahan. Nilai kedua adalah nama bahannya. Kami kemudian mencetak kedua daftar ini ke konsol
print[quantities] print[ingredients]
Mari jalankan kode kita
['2 tbsp, ricotta\n', '1 tbsp, grated parmesan\n', '50g, mozzarella\n', '25g, gorgonzola\n', '2, thick slices white bread\n', '1 tbsp, butter\n'] ['2 tbsp', '1 tbsp', '50g', '25g', '2', '1 tbsp'] ['ricotta\n', 'grated parmesan\n', 'mozzarella\n', 'gorgonzola\n', 'thick slices white bread\n', 'butter\n']
Kode kami mencetak tiga daftar ke konsol. Daftar pertama adalah daftar semua baris teks dalam file kita. Daftar kedua berisi semua jumlah dari file kami. Daftar ketiga berisi semua bahan
Hapus Baris Baru
Masih ada satu perbaikan yang perlu kami lakukan. Setiap bahan diakhiri dengan karakter “\n”. Karakter ini menunjukkan baris baru. Kita dapat menghapus karakter ini dengan menggunakan metode replace[]
for l in lines: as_list = l.split[", "] quantities.append[as_list[0]] ingredients.append[as_list[1].replace["\n", ""]]
Dalam perulangan for kami, kami mengganti nilai “\n” dengan string kosong. Kami melakukan ini pada nilai as_list[1] yang berkorelasi dengan nama setiap bahan
» LAINNYA. Python sqrt[]. Panduan Cara Penggunaan
Sekarang setelah kami melakukan perubahan ini, program kami siap
with open["grilled_cheese.txt", "r"] as grilled_cheese: lines = grilled_cheese.readlines[] quantities = [] ingredients = [] for l in lines: as_list = l.split[", "] quantities.append[as_list[0]] ingredients.append[as_list[1].replace["\n", ""]] print[quantities] print[ingredients]
Mari jalankan kode kita dan lihat apa yang terjadi
['2 tbsp', '1 tbsp', '50g', '25g', '2', '1 tbsp'] ['ricotta', 'grated parmesan', 'mozzarella', 'gorgonzola', 'thick slices white bread', 'butter']
Kode kami berhasil mengubah file teks kami menjadi dua daftar. Satu daftar berisi jumlah bahan untuk resep. Daftar lainnya berisi bahan-bahan yang akan kami gunakan untuk resepnya
Kesimpulan
Anda dapat membaca file teks menggunakan metode
with open["grilled_cheese.txt", "r"] as grilled_cheese: lines = grilled_cheese.readlines[] print[lines]3 dan
with open["grilled_cheese.txt", "r"] as grilled_cheese: lines = grilled_cheese.readlines[] print[lines]0. Untuk membaca file teks ke dalam daftar, gunakan metode
with open["grilled_cheese.txt", "r"] as grilled_cheese: lines = grilled_cheese.readlines[] print[lines]1. Metode ini membagi string ke dalam daftar pada karakter tertentu
Pada contoh di atas, kita membagi sebuah string menjadi sebuah list berdasarkan posisi koma dan spasi [“, ”]. Sekarang Anda siap membaca file teks ke dalam daftar dengan Python seperti seorang ahli
Tentang kami. Karma Karir adalah platform yang dirancang untuk membantu pencari kerja menemukan, meneliti, dan terhubung dengan program pelatihan kerja untuk memajukan karier mereka. Pelajari tentang publikasi CK