Nieco zdezorientowany dlaczego otrzymuję ten błąd. Myślałem, że skiprows powinni się mną zadbać.

Błąd:

CParserError: Error tokenizing data. C error: Expected 1 fields in line 6, saw 13

Linia:

df_data = pd.read_csv(infile.name, skiprows=[6], sep=',')

CSV:

Header: 1asdf
Header: 2fac
Header: 3aaz
Header: 4ssw
Header: 5aaa
0.0,-64,192,152,27023,3,0,26275,31473,149,67,77,0.0
0.04050016403198242,-64,192,148,27021,3,0,26274,31471,149,67,77,0.038919925689697266
0.08100008964538574,-64,192,148,27017,3,0,26275,31467,149,67,77,0.07783985137939453
0.12150001525878906,-60,192,148,27019,3,0,26277,31467,149,67,77,0.1167600154876709
0.16199994087219238,-60,192,144,27015,3,0,26277,31463,149,67,77,0.15567994117736816
0.2025001049041748,-60,192,148,27075,3,0,26319,31463,149,67,77,0.19460034370422363
0
Ahmed Haque 12 sierpień 2014, 05:40

2 odpowiedzi

Najlepsza odpowiedź

Jeśli zdasz listę do skiprows, interpretuje go jako "pomiń wiersze na tej liście (0 indeksowane)". Zamiast tego przejrzyj liczbę całkowitą. Prawdopodobnie również chcesz header=None, więc pierwszy wiersz danych nie stał się nazwy kolumn.

pd.read_csv(infile.name, skiprows=6, header=None)
1
chrisb 12 sierpień 2014, 01:48

Mam ten sam komunikat o błędzie. W moim przypadku, ponieważ przecinki były używane jako ślady dziesiętne, a komórki rozdzielone przez średnik. W moim przypadku sep=";" rozwiązał problem: pd.read_csv(infile.name, sep=";")

2
Python Beginner WG 29 wrzesień 2016, 09:55