2017-05-07 2 views
0

Ich muss die Daten lesen, die IMDb über FTP here öffentlich zugänglich macht. Das Problem besteht darin, dass die Daten nicht immer in einem konsistenten Format vorliegen. Ich habe unten einen kleinen Ausschnitt der Daten angehängt (erste Zeilen).IMDb-Daten in R lesen

Ich habe versucht mit read.table() mit sep = '\t', aber es teilt nicht die Zeilen mit 100% Genauigkeit.

Here Sie können die Beispieldaten finden.

Wie kann ich diese Tabelle in R lesen?

+0

Dies könnte Ihnen helfen https://github.com/hadley/data-movies –

+0

Danke - das ist etwas, das ich vor ein paar Wochen ausprobiert habe, als ich anfing, aber leider scheint es, dass der Schöpfer das Projekt aufgegeben hat bevor es vollständig war. Das Endergebnis davon ist ein Datenrahmen mit allen Filmen, aber nur einige der Variablen (Genre, Bewertung, Stimmen, aber keine Schauspieler, etc.) – tsouchlarakis

+0

Aber der Code führt Sie zu den Lösungen. Siehe meine Antwort. –

Antwort

1

Verwenden Sie einfach readLines und dann strsplit jede Zeile von \\t+.

file <- readLines("PATHTO/actorstest.txt", encoding = 'Latin-1') 

# delete empty rows 
file <- subset(file, !grepl('^\\s*$', file)) 

# split in two columns by one or more tabs 
file <- strsplit(x = file, split = '\\t+') 

# row bind all itms and create df 
df <- data.frame(do.call(rbind, lapply(file, unlist))) 
df 

was in

     X1               X2 
1   Aa, Brynjar      Adj¯ solidaritet (1985) [P¯nker] <40> 
2    Aa, Henk  Cuby + Blizzards: 40 jaar de blues (2006) (V) [Himself] 
3  Aa, Henk van der "De slimste mens ter wereld" (2012) {(#5.10)} [Himself] <4> 
4      "De slimste mens ter wereld" (2012) {(#5.11)} [Himself] <3> 
5       "De slimste mens ter wereld" (2012) {(#5.8)} [Himself] <3> 
6       "De slimste mens ter wereld" (2012) {(#5.9)} [Himself] <4> 
7  Aab, Vanessa (I)        Frollein FrappÈ (2014) [Greta] 
8              Nach einem Traum (2014) [Elke] 
9   Aabear, Jim      Paradise Recovered (2010) [Richard] <8> 
10               Senses (2009) [Mr. Cohen] 
11  Aabed, Essam Abu        Omar (2013) [Omar's Boss] <10> 
12 Aabedlaoui, El Hassan       La vache (2016) [Aissaoui 2] <80> 
13    Aabeel          Czeski Friends (2004) (V) 
14   Aabel, Anders           Kontakt! (1956) <7> 

Beachten Sie, dass einige Akteure mehrere Einträge in Spalte zwei. Ich überlasse es dir.

+0

Vielen Dank! Genau das, was ich gesucht habe. – tsouchlarakis