我從 Twitter 上提取了數(shù)據(jù)。目前,數(shù)據(jù)位于多個文件中,我無法將其合并到一個文件中。注意:所有文件均為 JSON 格式。我使用的代碼在這里和這里。建議使用它glop 來編譯 JSON 文件我編寫這段代碼就像我在一些關于使用 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)在我按照幾個線程中的建議使用了它:df_lines = pd.read_json('finalmerge.json', lines=True)df_lines1000000*23 columns 那么,我應該怎么做才能將每個功能放在單獨的列中呢?我不確定 JSON 文件為什么有問題,我檢查了合并的文件,發(fā)現(xiàn)它作為 JSON 文件無效?我應該怎么做才能將其作為數(shù)據(jù)框?我問這個問題的原因是我有非常基本的Python知識,而且我發(fā)現(xiàn)的類似問題的所有答案都比我能理解的要復雜得多。請幫助這位 Python 新用戶將多個 JSON 文件轉換為一個 JSON 文件。
1 回答

喵喔喔
TA貢獻1735條經驗 獲得超5個贊
我認為問題在于您的文件并不是真正的 json (或者更好,它們的結構為jsonl)。您有兩種處理方式:
您可以將每個文件作為文本文件讀取并逐行合并它們
您可以將它們轉換為 json(在文件開頭添加方括號,并在每個 json 元素末尾添加逗號)。
您還可以嘗試這樣編輯代碼:
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 元素。
添加回答
舉報
0/150
提交
取消