Saya mencoba mengimpor file .csv menggunakan pandas.read_csv()
, namun saya tidak ingin mengimpor baris ke-2 dari file data (baris dengan indeks = 1 untuk pengindeksan 0).
Saya tidak dapat melihat cara untuk tidak mengimpornya karena argumen yang digunakan dengan perintah tersebut tampak ambigu:
Dari situs pandas:
skiprows
: seperti daftar atau bilangan bulatNomor baris yang dilewati (0-indeks) atau jumlah baris yang dilewati (int) di awal file. "
Jika saya memasukkan skiprows=1
argumen, bagaimana cara mengetahui apakah akan melewati baris pertama atau melewati baris dengan indeks 1?
Jawaban:
Anda dapat mencoba sendiri:
>>> import pandas as pd >>> from StringIO import StringIO >>> s = """1, 2 ... 3, 4 ... 5, 6""" >>> pd.read_csv(StringIO(s), skiprows=[1], header=None) 0 1 0 1 2 1 5 6 >>> pd.read_csv(StringIO(s), skiprows=1, header=None) 0 1 0 3 4 1 5 6
sumber
[]
.from io import StringIO
pd.compat.StringIO
.Saya belum punya reputasi untuk berkomentar, tapi saya ingin menambahkan jawaban alko untuk referensi lebih lanjut.
Dari dokumen :
sumber
Saya mendapat masalah yang sama saat menjalankan skiprow saat membaca file csv. Saya mengenakan skip_rows = 1 ini tidak akan berhasil
Contoh sederhana memberikan gambaran bagaimana menggunakan skiprows saat membaca file csv.
import pandas as pd #skiprows=1 will skip first line and try to read from second line df = pd.read_csv('my_csv_file.csv', skiprows=1) ## pandas as pd #print the data frame df
sumber
Semua jawaban ini kehilangan satu poin penting - baris ke-n adalah baris ke-n dalam file, dan bukan baris ke-n dalam dataset. Saya mengalami situasi di mana saya mengunduh beberapa data pengukur aliran kuno dari USGS. Kepala dataset diberi komentar dengan '#', baris pertama setelah itu adalah label, selanjutnya muncul baris yang menjelaskan jenis tanggal, dan terakhir datanya sendiri. Saya tidak pernah tahu berapa banyak baris komentar, tapi saya tahu apa beberapa baris pertama. Contoh:
Alangkah baiknya jika ada cara untuk melewati baris ke-n dan juga baris ke-n secara otomatis.
Sebagai catatan, saya dapat memperbaiki masalah saya dengan:
import pandas as pd ds = pd.read_csv(fname, comment='#', sep='\t', header=0, parse_dates=True) ds.drop(0, inplace=True)
sumber
skip[1]
akan melewati baris kedua, bukan yang pertama.sumber
Juga pastikan bahwa file Anda sebenarnya adalah sebuah file CSV. Misalnya, jika Anda memiliki file .xls, dan hanya mengubah ekstensi file menjadi .csv, file tidak akan diimpor dan akan menampilkan error di atas. Untuk memeriksa apakah ini masalah Anda, buka file di excel dan kemungkinan akan mengatakan:
"Format file dan ekstensi 'Filename.csv' tidak cocok. File mungkin rusak atau tidak aman. Jika Anda tidak memercayai sumbernya, jangan membukanya. Apakah Anda tetap ingin membukanya?"
Untuk memperbaiki file: buka file di Excel, klik "Simpan Sebagai", Pilih format file untuk disimpan sebagai (gunakan .cvs), lalu ganti file yang ada.
Ini adalah masalah saya, dan memperbaiki kesalahan tersebut untuk saya.
sumber