Dzień dobry,
Jestem początkującym w pythonie. Napotkałem problem z wgraniem danych do pythona. Problem polega na tym, że po wpisaniu kodu o treści:
Tabelka1 =(pd.read_csv:(r"C:** *****.csv")
Tabelka1
Dane wczytują się do pythona tylko tworzy się jedna kolumna gdzie powinno być 21 kolumn. Czy ktoś z państwa mógłby mi zaproponować rozwiązanie danej sytuacji?
Pozdrawiam.

Wprowadzanie danych do pythona
- Rejestracja: dni
- Ostatnio: dni
- Postów: 3
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Silesia/Marki
- Postów: 5549
Jak wygląda cały kod i jak wygląda plik wejsciowy
- Rejestracja: dni
- Ostatnio: dni
- Postów: 358
Ja mam taki plik csv:
plik.csv
Year,Make,Model
1997,Ford,E350
2000,Mercury,Cougar
Odczytuje tak
import pandas as pd
data = pd.read_csv('plik.csv')
print(data)
Otrzymuje tak:
❯ python read_csv.py
Year Make Model
0 1997 Ford E350
1 2000 Mercury Cougar
- Rejestracja: dni
- Ostatnio: dni
- Postów: 3


- Rejestracja: dni
- Ostatnio: dni
- Postów: 358
A sprawdzałeś z jakimś innym plikiem csv czy się wyświetla, bo większość znaków jest dobrze interpretowana, ale może jakiś tam parser buguje.
Np. "nazwa" jest poprawny. Sprawdź na jakimś prostszym pliku np. takim jak ja dałem wyżej, czy tam też błąd występuje.
Potem można sprawdzić zostawiając kilka wierszy i zostawić z 3 kolumny czy dalej nie działa, może jakiś znak rozwala tego parsera.
Przywracaj ten plik csv, aż trafisz, że źle interpretuje, i trafisz na linijkę csv gdzie jakiś character może wykrzacza parser.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 3
Tes
.GodOfCode. napisał(a):
A sprawdzałeś z jakimś innym plikiem csv czy się wyświetla, bo większość znaków jest dobrze interpretowana, ale może jakiś tam parser buguje.
Np."nazwa"jest poprawny. Sprawdź na jakimś prostszym pliku np. takim jak ja dałem wyżej, czy tam też błąd występuje.Potem można sprawdzić zostawiając kilka wierszy i zostawić z 3 kolumny czy dalej nie działa, może jakiś znak rozwala tego parsera.
Przywracaj ten plik csv, aż trafisz, że źle interpretuje, i trafisz na linijkę csv gdzie jakiś character może wykrzacza parser.
Testowałem to już na dwóch plikach csv i każdy plik otwiera się poprawnie, i dlatego zastanawiam się dlaczego ten się otwiera inaczej.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 358
Musisz zrobić dziel i rządź algorytm,
Zostaw tylko dwa wiersze pierwszy co kolumny nazywa i drugi co ma jakieś dane i zobacz czy to się wykona, jak nie to usuwaj kolumny aż zadziała i zwiększaj wiersze np. dodaj połowę i jak działa to błąd powinien być w następnym 50% csv pliku itp.
Albo może być jeszcze jakiś inny błąd, ale wydaje mi się że jakiś błąd z parsowaniem jest, ale nigdy nie wiadomo co zbugowało.
Ewentualnie możesz wrzucić gdzieś ten plik co sprawdzi czy to poprawny plik csv jest.
W pythonie skrypt można napisać, który złapie które wiesze bugują, każda nowa linia to nowy wiersz, to mógłbyś preparować sobie odczytać z pliku 50% pliku, i sparsować to, a jak zadziała to następne 50% pliku i dodać pierwszy wiersz z nazwami kolumn i też sparsować.
Masz wtedy przejście po drzewie jak w jakimś quick sort, sprawdzasz lewą połowę czy jak się wykrzaczy to szukasz w tej połowie pod połowa lewa i prawa, aż znajdziesz wiersz, który powoduje błąd.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 1135
MikizAmeryki napisał(a):
Widać tutaj "Cena,Waluta" obstawiam, że to jest przyczyną. Parser bierze to za jedno pole i nie zgadza mu sięilosc kolumn w innych wierszach więc głupieje.