0
我是python的新手。試圖建立我的情況下使用此代碼link無法將完整數據從json文件加載到數據框中
我有200k的json文件,需要把它放在一個數據幀。
爲了達到這個目的,我爲我的問題製作了樣例,它看起來像這樣。
我有一個文件夾'測試'與子目錄中的json文件。目錄如下:
test>test1>test1> 3 json files
test>test2>test2> 3 json files
test>test3>test3> 3 json files
我試圖讓所有的9個JSON文件轉換成一個數據幀。我的代碼如下:
import json
import os
import pandas as pd
import json
jpath='C:\\Users\\Sharath\\Desktop\\test'
result=[]
for i in os.listdir(jpath):
k=os.path.join(jpath,i)
for j in os.listdir(k):
l=os.path.join(k,j)
result.append(l)
print(result)
['C:\\Users\\Sharath\\Desktop\\test\\test1\\test1', 'C:\\Users\\Sharath\\Desktop\\test\\test2\\test2', 'C:\\Users\\Sharath\\Desktop\\test\\test3\\test3']
jsons_data = pd.DataFrame(columns=['homepage_url', 'number_of_employees', 'email_address'])
for i in range(len(result)):
for j in os.listdir(result[i]):
with open(os.path.join(result[i],j)) as jfile:
jtext=json.load(jfile)
homepage_url = jtext['homepage_url']
number_of_employees = jtext['number_of_employees']
email_address = jtext['email_address']
jsons_data.loc[index]=[homepage_url,number_of_employees,email_address]
print(jsons_data)
homepage_url number_of_employees email_address
2 http://www.01tek.com 1.0 [email protected]
homepage_url number_of_employees email_address
2 http://www.123listo.com NaN [email protected]
homepage_url number_of_employees email_address
2 http://www.immortaloutdoors.com NaN
homepage_url number_of_employees \
2 http://www.1on1fitnesstraining.com 50.0
email_address
2 [email protected]
homepage_url number_of_employees email_address
2 http://1onlybat.bigcartel.com NaN [email protected]
homepage_url number_of_employees email_address
2 http://www.1doc3.com 5.0 [email protected]
homepage_url number_of_employees email_address
2 http://1phoneapp.com 10.0
homepage_url number_of_employees email_address
2 None NaN
homepage_url number_of_employees \
2 http://www.1stalliancelending.com 51.0
email_address
2 [email protected]
,當我試圖通過調用jsons_data看數據框,結果如下:
我無法理解爲什麼我收到只有一個索引爲2的結果。 請幫助我如何使用此方法獲取數據幀中的所有9個文件。
我不認爲你已經分配或更新變量'在你的代碼index'任何地方。如果是這樣,那麼它總是等於零,並且最終列表包含單個結果,以最後處理的文件爲準。 –
您是否考慮過pd.read_json(),然後連接數據框?平均有多大的文件?這可能是一個選項。 如果你想遵循鏈接中的方法,你應該更新索引(仔細看看你使用的鏈接,他們更新索引變量),如@ K.A.Buhr – fedepad