ich Datendateien wie folgt aussieht:Python & Pandas: Wie kann ich das Erstellen von Zwischendateien beim Lesen von Daten überspringen?
ABE200501.dat
ABE200502.dat
ABE200503.dat
...
Also zunächst kombiniert ich diese Dateien in all.dat
und reinigen ein wenig
fout=open("all.dat","w")
for year in range(2000,2017):
for month in range(1,13):
try:
for line in open("ABE"+ str(year) +"%02d"%(month)+".dat"):
fout.write(line.replace("[", " ").replace("]", " ").replace('"', " ").replace('`', " "))
except:
pass
fout.close()
Und ich las später die endgültige Datei in Pandas
df = pd.read_csv("all.dat", skipinitialspace=True, error_bad_lines=False, sep=' ',
names = ['stationID','time','vis','day_type','vis2','day_type2','dir','speed','dir_max','speed_max','visual_range', 'unknown'])
Ich möchte wissen, wenn es möglich ist, kombinieren Dateien direkt im RAM statt auf meiner Festplatte zu speichern? Dies kann mir viel unnötigen Platz sparen.
Danke!
Das ist cool! Eine Frage, es scheint, als wäre es in Python 2, gibt es etwas, worüber ich mich kümmern muss? – cqcn1991
@ cqcn1991 Python3 verwendet stattdessen 'io', wie in:' io.StringIO'. In-Memory-Streams werden über [hier] (https://docs.python.org/3/library/io.html#in-memory-streams) diskutiert. – Ouroborus