Загрузите тысячи файлов Json в один DataFrame на основе содержимого Json - PullRequest
0 голосов
/ 18 февраля 2019

Я работаю с Jupyter, и я довольно новичок в Python.У меня есть тысячи файлов Json в каталоге, и мне нужно конвертировать файлы в CSV, основываясь на содержимом файлов Json.

Я уже пробовал только другую конфигурацию, но ни одна из них не отвечает моим потребностям.Я делаю следующее

f = []

for (dirpath, dirnames, filenames) in walk('Directory/'):
     f.extend(filenames)

     break

File_Target=pd.DataFrame(['definition of name'])


for i in range(0, len(File_Target)):
    %reset_selective -f "^DATA$"
    DATA=pd.DataFrame()
    File_cons=File_Target[i]

    for ii in range(0, len(f)):

       file_name1='Directory/'
       file_name2= f[ii]
       file_name=file_name1+file_name2
       with open(file_name, 'r') as fer:
         data1 = json.load(fer)
         df = pd.DataFrame({'count': data1})
       File_file=df['count']['Target']

       if File_file==File_cons: 
          df_test = df['count']['Target']

          DATA=pd.concat([DATA,df_test], join='outer', join_axes=None, 
                      ignore_index=False,keys=None, levels=None, 
                      names=None, verify_integrity=False,
                      copy=True, sort=True)




Save_filna='Directory/'+File_cons+'.csv'
DATA.to_csv(Save_filna)

Код работает без проблем.Тем не менее, каталог содержит более 1000 json-файлов, и каждый DataFrame каждого json-файла содержит более 10000 строк.Поэтому код работает очень медленно.

есть ли способ ускорить код?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...