需求:当同名文件夹下有多个json文件,批量转换到一个csv中
json中包含多层结构
import os
import pandas as pd
import json
#同一个目录下读取多个json文件转csv文件
def json_to_csv():
dir="/Users/cecilia/school/"
files=os.listdir(dir)
datalist=[]
for filename in files:
if filename.endswith(".json"):
filepath=dir+filename
#print(filepath)
with open(filepath) as f:
datalist+= f.readlines()
dictlist=[]
for data in datalist:
#print(data)
try:
dictlist.append(json.loads(data))
except Exception:
print(data)
df = pd.json_normalize(dictlist, record_path=['colleges'],
meta=['errno','msg','total']
)
print(df)
df.to_csv("/Users/cecilia/school2.csv")
if __name__ == '__main__':
json_to_csv()
print("jie su")