主要分为两个部分:
1、txtToJson() 函数读取指定路径下的所有文件,转换成如下格式“{“name1”:“content1”,“name2”:“content2”}
2、saveInJsonFile()函数将处理好的json格式数据和保存的文件路径作为函数参数,传入函数,保存到指定文件。
import os
from pandas.io import json
from tqdm import tqdm
def txtToJson(path):
filename = os.listdir(path) #获取path路径下的所有文件的名字(eg:123.txt)
# filename=filename[:2]
# print(len(filename),filename)
filejson=dict()
for fn in tqdm(filename):
p=os.path.join(path,fn)
try:
# 大多数文件都是utf-8格式的,少数文件是gbk格式,默认使用utf-8格式读取,为了防止gbk文件使程序中断,使用try catch处理特殊情况
f=open(p,mode="r",encoding="utf-8")
data=f.read().replace(" ","").replace("\n","")
filejson[fn.rstrip(".txt")]=data
f.close()
except Exception:
f = open(p, mode="r", encoding="gbk")
data=f.read().replace(" ","").replace("\n","")
filejson[fn]=data
f.close()
return filejson,len(filejson)
def saveInJsonFile(data,path):
with open(path, 'w', encoding='utf-8') as f:
f.write(json.dumps(filejson, ensure_ascii=False))
# 要读取的文件夹路径
readpath=r"填写需要读取的路径名"
filejson,length=txtToJson(readpath)
print(filejson)
# 保存的文件路径 1.json可以更换成其他的名字
save_path=r"1.json"
saveInJsonFile(filejson,save_path)
其中txt到json的核心代码是:
f=open(p,mode="r",encoding="utf-8")
data=f.read().replace(" ","").replace("\n","")
filejson[fn.rstrip(".txt")]=data
f.close()