https://www.imdb.com/interfaces/ sieben richtig große Textdateien gefunden. Diese werden täglich aktualisiert zum Download angeboten.
Da schlägt mein Data Herz gleich etwas schneller.
Ich kann sie wegen ihrer Größe nur zeilenweise einlesen, was dank der guten AHK-Hilfe auf GitHub auch gut funktioniert
So ist eine der Dateien strukturiert:
;nconst primaryName birthYear deathYear primaryProfession knownForTitles
nm0000001 Fred Astaire 1899 1987 soundtrack,actor,miscellaneous tt0053137,tt0050419,tt0031983,tt0072308
nm0000002 Lauren Bacall 1924 2014 actress,soundtrack tt0037382,tt0038355,tt0117057,tt0071877
nm0000003 Brigitte Bardot 1934 \N actress,soundtrack,music_department tt0049189,tt0057345,tt0054452,tt0056404
Ich habe sie mit Excel importiert, bei etwas über einer Millionen Einträgen, hat Excel den Import mit einer Fehlermeldung beendet, und einen Hinweis gezeigt, wie ich den Rest importieren kann.
Nun zu meiner Frage, wie stelle ich es an, diese Dateien zu verwalten, ich dachte an splitten nach Name, in einzelne Files a bis z... aber habe noch keine Ahnung wie ich das später in einer Datenbank (arrays) durchsuchbar mache
Vielen Dank fürs lesen
Code: Select all
Loop, read, V:\__ahk projekte aktuell\DSVParser_run\name.basics.tsv\data.tsv
, V:\__ahk projekte aktuell\DSVParser_run\name.basics.tsv\dataWrite.tsv
{
AIndex := A_Index
Loop, parse, A_LoopReadLine, %A_Tab%
{
ToolTip % "AIndex: " AIndex "`nFeldnummer " A_Index " ist`n`n" A_LoopField
}
if !InStr(A_LoopReadLine, "bruce lee") {
FileAppend, %A_LoopReadLine%`n
If (A_Index>100000)
Break
}}
/* ; https://www.autohotkey.com/boards/viewtopic.php?p=54496#p54496
; fehler
NameBasicsTSV := "V:\__ahk projekte aktuell\DSVParser_run\name.basics.tsv\data.tsv"
DateiObjekt := FileOpen(NameBasicsTSV, "r")
NameBasicsTSVDBVar := DateiObjekt.Read(50000)
DateiObjekt.CLose()
MsgBox, 0, Name Basics TSV, %NameBasicsTSVDBVar%
; ok
TitleRatingsTSV := "V:\__ahk projekte aktuell\DSVParser_run\title.ratings.tsv\data.tsv"
DateiObjekt := FileOpen(TitleRatingsTSV, "r")
TitleRatingsTSVDBVar := DateiObjekt.Read()
DateiObjekt.CLose()
MsgBox, 0, Title Ratings TSV, %TitleRatingsTSVDBVar%
; fehler
TitlePrincipalsTSV := "V:\__ahk projekte aktuell\DSVParser_run\title.principals.tsv\data.tsv"
DateiObjekt := FileOpen(TitlePrincipalsTSV, "r")
TitlePrincipalsTSVDBVar := DateiObjekt.Read(500)
DateiObjekt.CLose()
MsgBox, 0, Title Principals TSV, %TitlePrincipalsTSVDBVar%
; ok
TitleEpisodeTSV := "V:\__ahk projekte aktuell\DSVParser_run\title.episode.tsv\data.tsv"
DateiObjekt := FileOpen(TitleEpisodeTSV, "r")
TitleEpisodeTSVDBVar := DateiObjekt.Read()
DateiObjekt.CLose()
MsgBox, 0, Title Episode TSV, %TitleEpisodeTSVDBVar%
; ok
TitleCrewTSV := "V:\__ahk projekte aktuell\DSVParser_run\title.crew.tsv\data.tsv"
DateiObjekt := FileOpen(TitleCrewTSV, "r")
TitleCrewTSVDBVar := DateiObjekt.Read()
DateiObjekt.CLose()
MsgBox, 0, Title Crew TSV, %TitleCrewTSVDBVar%
; ok
TitleBasicsTSV := "V:\__ahk projekte aktuell\DSVParser_run\title.basics.tsv\data.tsv"
DateiObjekt := FileOpen(TitleBasicsTSV, "r")
TitleBasicsTSVDBVar := DateiObjekt.Read()
DateiObjekt.CLose()
MsgBox, 0, Title Basics TSV, %TitleBasicsTSVDBVar%
; fehler
TitleAkasTSV := "V:\__ahk projekte aktuell\DSVParser_run\title.akas.tsv\data.tsv"
DateiObjekt := FileOpen(TitleAkasTSV, "r")
TitleAkasTSVDBVar := DateiObjekt.Read(500)
DateiObjekt.CLose()
MsgBox, 0, Title Akas TSV, %TitleAkasTSVDBVar%
*/