Saya memuat file txt yang berisi gabungan antara data float dan string. Saya ingin menyimpannya dalam sebuah array di mana saya dapat mengakses setiap elemen. Sekarang saya hanya melakukan
import pandas as pd
data = pd.read_csv('output_list.txt', header = None)
print data
Ini adalah struktur file input: 1 0 2000.0 70.2836942112 1347.28369421 /file_address.txt
.
Sekarang data diimpor sebagai kolom unik. Bagaimana saya bisa membaginya, sehingga untuk menyimpan elemen yang berbeda secara terpisah (jadi saya bisa menelepon data[i,j]
)? Dan bagaimana saya bisa mendefinisikan header?
Saya ingin menambahkan jawaban di atas, Anda dapat langsung menggunakan
fwf adalah singkatan dari garis berformat lebar tetap.
sumber
@ Pietrovismara solusi sudah benar tetapi saya hanya ingin menambahkan: daripada memiliki baris terpisah untuk menambahkan nama kolom, dimungkinkan untuk melakukan ini dari pd.read_csv.
sumber
Anda bisa menggunakan ini
sumber
Jika Anda tidak memiliki indeks yang ditetapkan untuk data dan Anda tidak yakin apa jaraknya, Anda dapat menggunakan untuk membiarkan panda menetapkan indeks dan mencari beberapa spasi.
sumber
delim_whitespace=True
daripada'\s+'
pembatasAnda dapat melakukannya sebagai:
(seperti, df = pd.read_csv ('F: \ Desktop \ ds \ text.txt', delimiter = "\ t")
sumber
Berdasarkan perubahan terbaru dalam panda, Anda dapat menggunakan, read_csv, read_table sudah usang:
sumber
Anda dapat mengimpor file teks menggunakan perintah read_table seperti:
Pra-pemrosesan perlu dilakukan setelah memuat
sumber
Saya biasanya melihat data terlebih dahulu atau hanya mencoba mengimpornya dan melakukan data.head (), jika Anda melihat bahwa kolom dipisahkan dengan \ t maka Anda harus menentukan
sep="\t"
sebaliknyasep = " "
,.sumber