2016-04-22 7 views
3

Ich versuche Pandas zu verwenden, um in einer Datei mit Trennzeichen zu lesen. Das Trennzeichen ist ein griechisches Zeichen, kleingeschriebenes Rho (þ).in rho abgegrenzte Datei lesen

Ich habe Schwierigkeiten, die richtigen read_table Parameter zu definieren, so dass der resultierende Datenrahmen korrekt formatiert ist.

Hat jemand irgendwelche Erfahrungen oder Vorschläge damit?

Ein Beispiel für die Datei ist unter

TimeþUser-IDþAdvertiser-IDþOrder-IDþAd-IDþCreative-IDþCreative-VersionþCreative-Größe-IDþSite-IDþPage-IDþCountry-IDþState/ProvinceþBrowser-IDþBrowser-VersionþOS-IDþDMA-IDþCity-IDþZip -CodeþSite-DataþTime-UTC-Sec 03-28-2016-00: 50: 03þ0þ3893600þ7786669þ298662779þ67802437þ1þ300x250þ1722397þ125754620þ68þþ30þ0.0þ501012þ0þ3711þþþ1459122603 03-28-2016-00: 24: 29þ0þ3893600þ7352234þ290743769þ55727503þ1þ1x1þ1602646þ117915815þ68þþ31þ0.0þ501012þ0þ3711þþþ1459121069 03-28-2016-00: 13: 42þ0þ3893600þ7352234þ290743769þ55727503þ1þ1x1þ1602646þ117915815þ68þþ31þ0.0þ501012þ0þ37 11þþþ1459120422 03-28-2016-00: 21: 09þ0þ3893600þ7352234þ290743769þ55727503þ1þ1x1þ1602646þ117915815þ68þþ31þ0.0þ501012þ0þ3711þþþ1459120869

+2

also sagen Sie, dass 'read_table (file, sep = r'ρ ')' nicht funktioniert? oder mit zusätzlichen Parametern 'encoding = 'utf-8'' oder' encoding =' utf-16''? – EdChum

+0

Ja, das stimmt. –

+0

Ich bin auf einer Windows-Maschine, die möglicherweise nicht hilft, aber ich möchte überprüfen, ob meine Syntax zuerst gut ist. Habe folgendes versucht. 'Importieren Pandas als PD Daten = pd.read_table ('C: \ Benutzer \ robin.sheridan \ Dokumente \ RCode \ NetworkImpression_5684_03-28-2016', sep = r'ρ ', nrows = 10, encoding =' utf-16 ') print (data) ' –

Antwort

2

Ich denke, was passiert ist, dass der C-Motor hier nicht funktioniert. Wenn wir zur Python-Engine wechseln, die leistungsfähiger, aber langsamer ist, scheint sie sich zu verhalten. Zum Beispiel mit dem Standard-C-Motor:

>>> df = pd.read_csv("out.rsv",sep="þ") 
>>> df.iloc[:,:5] 
    TimeþUser-IDþAdvertiser-IDþOrder-IDþAd-IDþCreative-IDþCreative-VersionþCreative-Size-IDþSite-IDþPage-IDþCountry-IDþState/ProvinceþBrowser-IDþBrowser-VersionþOS-IDþDMA-IDþCity-IDþZip-CodeþSite-DataþTime-UTC-Sec 
0 03-28-2016-00:50:03þ0þ3893600þ7786669þ29866277...                                        
1 03-28-2016-00:24:29þ0þ3893600þ7352234þ29074376...                                        
2 03-28-2016-00:13:42þ0þ3893600þ7352234þ29074376...                                        
3 03-28-2016-00:21:09þ0þ3893600þ7352234þ29074376...  

Aber mit Python:

>>> df = pd.read_csv("out.rsv",sep="þ", engine="python") 
>>> df.iloc[:,:5] 
        Time User-ID Advertiser-ID Order-ID  Ad-ID 
0 03-28-2016-00:50:03  0  3893600 7786669 298662779 
1 03-28-2016-00:24:29  0  3893600 7352234 290743769 
2 03-28-2016-00:13:42  0  3893600 7352234 290743769 
3 03-28-2016-00:21:09  0  3893600 7352234 290743769 

.. aber ernsthaft, þ? Sie verwenden þ als Trennzeichen? Die einzigen Suchtreffer, die google mir für "rho delimited file" gibt, sind alle mit dieser Frage verbunden!

Beachten Sie, dass Sie Kleinbuchstaben Rho sagen, aber es sieht aus wie Dorn für mich .. Vielleicht ist es ein Kleinbuchstabe Rho auf Ihrem Ende und wurde verwirrt in der Buchung?

+0

Ja, mein Schlechter, es ist ein Dorn. (Nur so konnte ich sehen, dass es ein beschissener Texteditor war ...!) Bizarrerweise funktioniert das immer noch nicht. Ich werde mein Mac über das Wochenende anprobieren. Habe den starken Verdacht, dass meine Windows-Maschine genauso ein Problem ist wie der dumme Separator. (Offensichtlich nicht meine Wahl) Danke für Ihre Hilfe! –