Wprowadzanie danych do pythona

Wprowadzanie danych do pythona
MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

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.
Zrzut ekranu 2024-07-12 184509.png

KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5549
0

Jak wygląda cały kod i jak wygląda plik wejsciowy

GO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 358
0

Ja mam taki plik csv:
plik.csv

Kopiuj
Year,Make,Model
1997,Ford,E350
2000,Mercury,Cougar

Odczytuje tak

Kopiuj
import pandas as pd

data = pd.read_csv('plik.csv')
print(data)

Otrzymuje tak:

Kopiuj
❯ python read_csv.py
   Year     Make   Model
0  1997     Ford    E350
1  2000  Mercury  Cougar
MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Zrzut ekranu 2024-07-12 185224.png
Zrzut ekranu 2024-07-12 185951.png

GO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 358
0

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.

MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

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.

GO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 358
0

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.

DR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1135
0
MikizAmeryki napisał(a):

Zrzut ekranu 2024-07-12 185224.png

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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.