2017-05-26 3 views
0

Ich versuche, eine Excel-Datei in pandas zu lesen, aber ich bekomme die Nachricht format and extension of the file don't match.Lesen csv wie Datei zu Pandas

Wenn ich versuche, read_excel zu verwenden, erhalte ich eine Fehlermeldung, deshalb verwende ich read_csv.

Hier ist das Problem; meine 'Excel wie' Datei hat leere Zellen auf einigen Zeilen, und es entsteht eine seltsame df, wo einige Feld verschoben werden:

Image 1

Mein Code ist unten:

2010 = pd.read_csv(r'{0}\\file.xls'.format(path_temp),sep = 
r'\t*',encoding='iso-8859-2') 

In der Ausgabe erscheint die Spalte Outcome in der 6. (Datum 4) Spalte des Datenrahmens aus Zeile 8. Wüssten Sie eine Umgehung? Ich muss diese Datei automatisch alle 15 Minuten laden, was bedeutet, ich möchte vermeiden, dass eine manuelle öffnen und speichern wie mit Excel

+0

Können Sie eine Beispieldatei posten? Was ist die Fehlermeldung beim Öffnen mit 'read_excel'? – EFT

+0

Es wird ein nicht unterstütztes Format oder eine beschädigte Datei angezeigt. Expected BOF etc ... – Jsfouf

+0

Wie sieht es aus, wenn Sie es in einem Texteditor öffnen? – EFT

Antwort

0

Ihr Trennzeichen ist ein Regex. sep=r'\t*' entspricht einer beliebigen Anzahl von aufeinander folgenden Tabs, und so sollten leere Zellen wie ein einzelnes Trennzeichen behandelt werden. Versuchen Sie stattdessen sep='\t'.

+0

Vielen Dank, das funktioniert für die leeren Zellen! I – Jsfouf

+0

Ich weiß, haben die Probleme, die einige Zellen Zitate mit einer Serie von ---- enthalten. Trotz der Verwendung der quotechar = '"' Parameter, erzeugen diese ---- einen Zeilenumbruch. Hier ist mein Code: pd.read_csv (r '{0} \\ DonneesIndisponibilitesProduction_2017.xls'.format (path_temp), delimiter = r '\ t', encoding = 'iso-8859-2', quoting = csv.QUOTE_ALL, quotechar = '"') Fehle ich etwas? – Jsfouf