Daten aus mehreren .dat Dateien in einzelne Sheets in einer einzigen Excel Datei importieren
Verfasst: Dienstag 11. Juni 2019, 07:15
Ich habe mehrere Dateien vom Typ .dat und möchte diese Dateien in eine einzige Excel-Datei einfügen. Dabei sollte pro Datei ein Excel Sheet erstellt werden und der Inhalt der Datei eingefügt werden. Bisher werden zwar die einzelnen Sheets erstellt, jedoch fehlt noch der Inhalt der Dateien. Jedes Feedback oder Kritik wäre super!
import glob
from os.path import basename
import numpy as np
import pandas as pd
import xlwt
files = glob.glob('Temperatur/*.dat')
writer = pd.ExcelWriter('TemperaturT.xlsx', engine='xlsxwriter')
for file in files:
sheet_name = basename(file)
sheet_name = sheet_name.split('_')[0]
sheet_name = sheet_name[1:]
sheet_name = int(sheet_name)
sheet_name = str(sheet_name)
with open(file, 'r') as f:
l = f.readlines()
bin_files = []
for line in l:
row = line.strip().split(',')
num = row[0]
if num == '211':
#print(row[1])
bin_files.append(row[1])
vars = {}
for name in bin_files:
stem, ext = name.rsplit('.', 1)
assert ext in ['R32', 'R64'], 'Unknown data format'
if ext == 'R32':
a = np.fromfile('temperatur' + '/' + name, dtype=np.float32)
else:
a = np.fromfile('temperatur' + '/' + name, dtype=np.float64)
var_name = stem.split('_', 10)[-1]
if len(a) == 4036:
vars[var_name] = a
df = pd.DataFrame.from_dict(vars)
df.to_excel(writer, sheet_name=sheet_name)
writer.save()
writer.close()
import glob
from os.path import basename
import numpy as np
import pandas as pd
import xlwt
files = glob.glob('Temperatur/*.dat')
writer = pd.ExcelWriter('TemperaturT.xlsx', engine='xlsxwriter')
for file in files:
sheet_name = basename(file)
sheet_name = sheet_name.split('_')[0]
sheet_name = sheet_name[1:]
sheet_name = int(sheet_name)
sheet_name = str(sheet_name)
with open(file, 'r') as f:
l = f.readlines()
bin_files = []
for line in l:
row = line.strip().split(',')
num = row[0]
if num == '211':
#print(row[1])
bin_files.append(row[1])
vars = {}
for name in bin_files:
stem, ext = name.rsplit('.', 1)
assert ext in ['R32', 'R64'], 'Unknown data format'
if ext == 'R32':
a = np.fromfile('temperatur' + '/' + name, dtype=np.float32)
else:
a = np.fromfile('temperatur' + '/' + name, dtype=np.float64)
var_name = stem.split('_', 10)[-1]
if len(a) == 4036:
vars[var_name] = a
df = pd.DataFrame.from_dict(vars)
df.to_excel(writer, sheet_name=sheet_name)
writer.save()
writer.close()