2017-02-25 5 views
0

Diese Frage ist für Python 2.7 mit der Pandas-Bibliothek. Ich habe diese Datei heruntergeladen: http://language.media.mit.edu/data/public/wikipedia_userlang_iso639-3.zip Dies ist eine Datei mit Tabs und Kommas. Ich habe das ganze Internet dafür gesucht.Komma und tab-getrennte tsv-Datei

Ich möchte dies mit Pandas trennen. Dies ergibt Fehler:

df = pd.read_table('wikipedia_userlang_iso639-3.tsv', sep= '\t') 

print df [:10] 

weil die Datei auch Kommas hat.

Hilfe wird sehr geschätzt!

Antwort

1

Diese Datei kann nicht als CSV-Datei analysiert werden, da jede Zeile keine feste Anzahl von Feldern hat (sie liegt zwischen 2 und 241). Sie müssen es selbst analysieren und entscheiden, wie Sie mit der variablen Anzahl von Sprachen für jeden Benutzer umgehen wollen:

import codecs 

with codecs.open('wikipedia_userlang_iso639-3.tsv', 'r', 'utf-8') as handle: 
    for line in handle: 
     chunks = line.strip().split('\t') 

     username = chunks[0] 
     languages = [c.split(',') for c in chunks[1:]] 

     # Do something with the above variables 
+0

Vielen Dank! Wenn ich einen Datenrahmen daraus machen wollte mit Benutzernamen als Spalte, Sprache als Spalte und wie oft der Benutzername in dieser Sprache bearbeitet wurde, wie soll ich weitermachen? – Martijn