我從 Twitter 上提取了數(shù)據(jù)。目前,數(shù)據(jù)位于多個(gè)文件中,我無法將其合并到一個(gè)文件中。注意:所有文件均為 JSON 格式。我使用的代碼在這里和這里。建議使用它glop 來編譯 JSON 文件我編寫這段代碼就像我在一些關(guān)于使用 Python 合并 JSON 的教程中看到的那樣from glob import glob import jsonimport pandas as pdwith open('Desktop/json/finalmerge.json', 'w') as f: for fname in glob('Desktop/json/*.json'): # Reads all json from the current directory with open(fname) as j: f.write(str(j.read())) f.write('\n')我成功合并了所有文件,現(xiàn)在文件是 Finalmerge.json?,F(xiàn)在我按照幾個(gè)線程中的建議使用了它:df_lines = pd.read_json('finalmerge.json', lines=True)df_lines1000000*23 columns 那么,我應(yīng)該怎么做才能將每個(gè)功能放在單獨(dú)的列中呢?我不確定 JSON 文件為什么有問題,我檢查了合并的文件,發(fā)現(xiàn)它作為 JSON 文件無效?我應(yīng)該怎么做才能將其作為數(shù)據(jù)框?我問這個(gè)問題的原因是我有非?;镜腜ython知識(shí),而且我發(fā)現(xiàn)的類似問題的所有答案都比我能理解的要復(fù)雜得多。請(qǐng)幫助這位 Python 新用戶將多個(gè) JSON 文件轉(zhuǎn)換為一個(gè) JSON 文件。
1 回答

喵喔喔
TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊
我認(rèn)為問題在于您的文件并不是真正的 json (或者更好,它們的結(jié)構(gòu)為jsonl)。您有兩種處理方式:
您可以將每個(gè)文件作為文本文件讀取并逐行合并它們
您可以將它們轉(zhuǎn)換為 json(在文件開頭添加方括號(hào),并在每個(gè) json 元素末尾添加逗號(hào))。
您還可以嘗試這樣編輯代碼:
with open('finalmerge.json', 'w') as f:
? ? for fname in glob('Desktop/json/*.json'):?
? ? ? ? with open(fname) as j:
? ? ? ? ? ? f.write(str(j.read()))
? ? ? ? ? ? f.write('\n')
每一行都是不同的 json 元素。
添加回答
舉報(bào)
0/150
提交
取消