Czy ktoś może efektywnie sprawdzić, czy plik ma format CSV za pomocą Pythona?Sprawdź, czy plik ma format CSV z Pythonem
Odpowiedz
Python ma numer csv module, więc można go parsować pod różnymi dialektami.
Musisz jasno myśleć o tym, co uważasz za plik CSV.
Na przykład, jakie znaki mogą występować między przecinkami. Czy jest to tylko tekst? Czy może to być także znak Unicode? Czy każda linia powinna mieć taką samą liczbę przecinków?
Nie ma ścisłej definicji pliku CSV, o którym jestem świadomy. Zwykle jest to tekst ASCII oddzielony przecinkami, a każda linia ma tę samą liczbę przecinków i jest przerywana przez terminator linii twojej platformy.
W każdym razie, po udzieleniu odpowiedzi na powyższe pytania będziesz nieco dalej na drodze do ustalenia, jak wykryć, kiedy plik jest plikiem CSV.
Możesz wypróbować coś takiego, ale tylko dlatego, że otrzymujesz dialekt z powrotem z csv.Sniffer
, to naprawdę nie wystarczy, aby zagwarantować, że masz ważny dokument CSV.
csv_fileh = open(somefile, 'rb')
try:
dialect = csv.Sniffer().sniff(csv_fileh.read(1024))
# Perform various checks on the dialect (e.g., lineseparator,
# delimiter) to make sure it's sane
# Don't forget to reset the read position back to the start of
# the file before reading any entries.
csv_fileh.seek(0)
except csv.Error:
# File appears not to be in CSV format; move along
* "... nie wystarczy do zagwarantowania ..." *: Tak. Bez podania dialektu mój wykrył .ZIP jako poprawny plik CSV, z @ jako separatorem – alanjds
Spróbuj przetworzyć go jako plik CSV i sprawdź, czy wystąpił błąd.
- 1. Usuwanie kolumn w pliku CSV z pythonem
- 2. Sprawdź format ciągów python?
- 3. Sprawdź, czy klasa ma atrybut?
- 4. Sprawdź, czy Html.ValidationSummary() ma wartość
- 5. Sprawdź, czy formularz ma klucz?
- 6. Sprawdź, czy kursor ma wyniki
- 7. Jak przekonwertować plik oddzielony tabulatorami na format CSV?
- 8. Sprawdź, czy plik jest używany z VBS
- 9. Jak zapisać listę jako plik .csv z pythonem z nowymi liniami?
- 10. Nodejs - Sprawdź, czy nie ma ukrytych plików
- 11. Sprawdź, czy plik jest pusty
- 12. Czy plik jest pusty sprawdź
- 13. VBA sprawdź, czy plik istnieje
- 14. Sprawdź, czy plik jest otwarty.
- 15. Jak mogę napisać plik MIDI z Pythonem?
- 16. Czy repozytorium maven ma standardowy format?
- 17. NSPredicate sprawdź NSArray, czy obiekt ma jeden z kilku ID
- 18. Rails 3, sprawdź kodowanie pliku CSV przed zaimportowaniem
- 19. iOS8 sprawdź, czy urządzenie ma Touch ID
- 20. Sprawdź, czy element ma już datepicker jQuery
- 21. Sprawdź, czy tabela ma DELETE na CASCADE
- 22. Sprawdź, czy funkcja Haskella ma wyciek przestrzeni.
- 23. Sprawdź, czy plik istnieje w Yii
- 24. Czytanie pliku binarnego z pythonem
- 25. SQL: Sprawdź, czy kolumna ma właściwość "Niezerowa"
- 26. Sprawdź, czy pole tekstowe ma wartość pusta
- 27. jQuery: Sprawdź, czy obiekt ma klasę
- 28. Sprawdź, czy obsługa Androida ma oddzwonienia
- 29. Sprawdź, czy węzeł Xml ma atrybut
- 30. Sprawdź, czy adres URL ma przedrostek http: //
Witamy w stackoverflow. Twoje pytanie może bardziej szczegółowo opisać. Czy jako starter możesz zdefiniować, co masz na myśli przez "format csv?" Musisz dokładnie zdefiniować ten format. Czy istnieją znaki ucieczki, znaczniki komentarza lub znaki cudzysłowu w tym formacie? Jeśli to pytanie jest zadaniem domowym, dodaj znacznik o nazwie "praca domowa", dzięki czemu odpowiedzi mogą dostarczyć odpowiedniego rodzaju wskazówek. –
Mam na myśli plik CSV Plik wartości rozdzielonych przecinkami patrz http://pl.wikipedia.org/wiki/Comma-separated_values po więcej szczegółów. – Joe
Jeśli chodzi o csv "wartości rozdzielone przecinkami", to nie ma standartu tego formatu. – Max