Python Pandas Verileri Tokenleştirme Hatası

Bir .csv dosyasını işlemek için pandas kullanmaya çalışıyorum ancak bu hatayı alıyorum:

pandas.parser.CParserError: Veri tokenize edilirken hata oluştu. C hatası: 3. satırda 2 alan bekleniyordu, 12 görüldü

Pandas dokümanlarını okumaya çalıştım ama hiçbir şey bulamadım.

Benim kodum basit:

path = 'GOOG Key Ratios.csv'
#print(open(path).read())
data = pd.read_csv(path)

Bunu nasıl çözebilirim? Csv modülünü mü yoksa başka bir dil mi kullanmalıyım?

Dosya Morningstar'den alınmıştır

Çözüm

sen de deneyebilirsin;

data = pd.read_csv('file1.csv', error_bad_lines=False)

Bunun, rahatsız edici satırların atlanmasına neden olacağını unutmayın.

Yorumlar (9)

Ayrıştırıcının kafası dosyanın başlığıyla karışıyor. İlk satırı okuyor ve bu satırdan sütun sayısını çıkarıyor. Ancak ilk iki satır dosyadaki gerçek veriyi temsil etmiyor.

Bunu data = pd.read_csv(path, skiprows=2) ile deneyin

Yorumlar (0)

Ben de aynı sorunla karşılaştım. Aynı kaynak dosya üzerinde pd.read_table() kullanmak işe yarıyor gibi görünüyordu. Bunun nedenini izleyemedim ama benim durumum için yararlı bir geçici çözüm oldu. Belki daha bilgili biri neden işe yaradığı konusunda daha fazla ışık tutabilir.

Düzenle: Bu hatanın, dosyanızda gerçek verilerle aynı formata sahip olmayan bazı metinler olduğunda ortaya çıktığını buldum. Bu genellikle (read_csv kullanırken) gerçek verilerinizle aynı sayıda virgülle ayrılmayacak olan üstbilgi veya altbilgi bilgileridir (bir satırdan fazla, bu nedenle skip_header çalışmaz). read_table kullanıldığında sınırlayıcı olarak bir sekme kullanılır, bu da kullanıcıların mevcut hatasını ortadan kaldırabilir ancak başka hatalara yol açabilir.

Bunu genellikle fazladan verileri bir dosyaya okuyup read_csv() yöntemini kullanarak aşıyorum.

Kesin çözüm gerçek dosyanıza bağlı olarak farklılık gösterebilir, ancak bu yaklaşım benim için birkaç durumda işe yaradı

Yorumlar (0)