Я пытаюсь читать файлы .dat через каталог, код которого ниже корректно работает при работе со структурированными данными (например, текст с разделителями и / или csv). Я пытаюсь прочитать 3 файла DAT в панды и добавить их вместе и извлечь имя файла, чтобы добавить его в последний столбец кадра данных.
Здесь приведен фрагмент .dat, это всего лишь пример, который я составил для отображения данных (первые несколько строк - это мусор, который я хочу пропустить:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{"Basketball_Player_Name" : "Michael Jordan", "Bulls" : {"school" :[ { 'North Carolina' : {"id":1},
"sneaker_brand" : {'brandOfSneaker" : {'Nike': JustDoIt}, "Championships" :[[ 6]]}, "Statistics" :"bunchofStats", "Address" : "Chicago,IL", "Export_Data" : "xls", "Version: 2} and then more junk
Я хочу извлечь следующие заголовки столбцов в pandas df:
Basketball_Player_Name
Статистика
Адрес
Экспорт данных
Затем сохраните данные, которые связаны в правильном столбце
Майкл Джордан,
bunchOfStats,
Чикаго, Иллинойс,
XLS
Буду признателен за любую помощь, спасибо!
import os
import pandas as pd
import glob
### read through a directory
path =r'C:\Users\d\Desktop\data' # use your path
allFiles = glob.glob(path + "/*.dat")
#create the dataframe
frame = pd.DataFrame()
#append all the data to an empty list and read the files
list_total = []
for file_ in allFiles:
df = pd.read_csv(file_ , delim_whitespace = True)
df['filename'] = os.path.basename(file_)
list_total.append(df)
frame = pd.concat(list_total)
#Name the columns with a dictionary with the column info you want to store
frame.columns = ['names','stats','address','data_format']
#Print the frame
print(frame)
#saves data back to csv
frame.to_csv('C:/Users/d/Desktop/data/output.csv')