Kann jemand eine effektive Möglichkeit zur Überprüfung bereitstellen, ob eine Datei das CSV-Format mit Python hat?Prüfen, ob die Datei ein CSV-Format mit Python hat
Antwort
Python hat eine csv module, also könnten Sie versuchen, es unter einer Vielzahl von verschiedenen Dialekten zu analysieren.
Sie müssen klar überlegen, was Sie für eine CSV-Datei halten.
Zum Beispiel, welche Art von Zeichen zwischen den Kommas auftreten kann. Ist es nur Text? Kann es auch Unicode-Zeichen sein? Sollte jede Zeile die gleiche Anzahl an Kommas haben?
Es gibt keine genaue Definition einer mir bekannten CSV-Datei. Normalerweise ist es ein ASCII-Text, der durch Kommas getrennt ist und jede Zeile hat die gleiche Anzahl an Kommas und wird vom Zeilenabschlusszeichen der Plattform beendet.
Wie auch immer, sobald Sie die obigen Fragen beantworten, werden Sie ein bisschen weiter auf dem Weg zu wissen, wie Sie erkennen, wenn eine Datei eine CSV-Datei ist.
Sie könnten etwas wie das Folgende versuchen, aber nur weil Sie einen Dialekt zurück von csv.Sniffer
bekommen, wird wirklich nicht ausreichen, um zu garantieren, dass Sie ein gültiges CSV-Dokument haben.
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
* "... wird nicht ausreichen, um zu garantieren ..." *: Ja. Ohne einen Dialekt bereitzustellen, hat meins eine .ZIP als gültige CSV mit @ als Trennzeichen erkannt – alanjds
Versuchen Sie es als CSV zu analysieren und sehen Sie, wenn Sie einen Fehler erhalten.
- 1. Kann MySQL prüfen, ob die Datei existiert?
- 2. prüfen, ob ein Element existiert mit Python/Selen
- 3. Prüfen, ob Webseite eine reaktionsfähige Navigation hat
- 4. UWP Prüfen ob Datei existiert
- 5. Prüfen, ob ein Webservice existiert
- 6. Javascript, um zu prüfen, ob ein Feld einen Wert hat
- 7. Wie kann ich prüfen, ob ein Double einen Bruchteil hat?
- 8. Prüfen, ob Element zwei Klassen hat
- 9. prüfen, ob Verfahren hat einen Kommentar mit antlr
- 10. Prüfen, ob ein Dienst mit Ansible existiert
- 11. Prüfen, ob ein Pfad in Python gültig ist
- 12. Prüfen, ob die Maus auf ein UI-Element mit einem bestimmten Namen oder Tag geklickt hat?
- 13. Prüfen, ob ein Objekt ist
- 14. Prüfen, ob ein String ein gültiger Dateiname mit Qt ist
- 15. prüfen, ob die Datei ohne die Erstellung existiert es
- 16. Prüfen, ob ein Verzeichnis in lua existiert?
- 17. Prüfen, ob Chargenvariable mit "..." beginnt
- 18. Fileupload - Prüfen, ob eine tatsächliche Datei
- 19. Prüfen, ob ein XML-Element vorhanden ist
- 20. prüfen, ob eine Datei oder ein Verzeichnis in Java
- 21. prüfen, ob ein PHP-Prozess bereits
- 22. Prüfen, ob die Datei auf Amazon s3 Signierte URL
- 23. prüfen, ob eine Befehlsausgabe erzeugt
- 24. TCPDF - prüfen, ob die PDF-Datei gespeichert wurde
- 25. JUnit Testfall, um zu prüfen, ob die Datei erstellt wurde
- 26. prüfen, ob ein Clientsocket in Java abgeklemmt
- 27. Prüfen, ob der XML-Knoten ein Attribut mit Linq C# hat?
- 28. Prüfen, ob die Datei auf dem entfernten Rechner existiert
- 29. Prüfen, ob Excel-Datei in C#
- 30. Programm zu prüfen, ob die angegebene Ganzzahl ein alternatives Muster
Willkommen bei stackoverflow. Ihre Frage könnte mehr Details verwenden. Könnten Sie als Vorspann bitte definieren, was Sie mit "CSV-Format" meinen? Sie müssen dieses Format sorgfältig definieren. Existieren in diesem Format Escapezeichen, Kommentarzeichen oder Anführungszeichen? Wenn diese Frage Hausaufgaben ist, fügen Sie bitte ein Tag namens "Hausaufgaben" hinzu, damit Antworten Ihnen die richtige Art von Anleitung geben können. –
Ich meine auf CSV-Datei Komma-getrennte Werte-Datei siehe http://en.wikipedia.org/wiki/Comma-separated_values für weitere Details.; – Joe
Wenn durch CSV "Komma getrennte Werte" gemeint ist, gibt es keinen Standard dieses Formats. – Max