我正在尝试以 json 格式打印出数据框。到目前为止它非常酷,因为我可以将 CSV 文件的目录加载导入到一个大型数据帧中,过滤不同的标准,并使用来自不同过滤数据帧的选择输出创建 json 输出。极好的!
我真的很接近但是看到正斜杠在生成的输出文件中被转义了。
我不希望这些逃脱。
命令是 'j.to_json(path_to_dir + "filename.json",orient="records",force_ascii=False)'
我尝试了 'force_ascii' True 和 False 只是为了看看有什么区别。没有区别。所以基本上,我的输出有很多单位 'lb/hr' 和类似的。接收和处理这个 json 文件的应用程序没有提供这个转义的正斜杠。
建议?
import pandas as pd
import json
path_to_dir = "C:\\"
suffix = "Example.csv"
dfi = pd.read_csv(path_to_dir + suffix)
dfo = pd.DataFrame()
dfo['tagName']=dfi['BNAME']
dfo['opcPath']= "{2*S*0:"+dfi['RNAME']+"}"
dfo['unit']=dfi['BUNITS']
dfo['isNumeric']='True'
dfo['name']=dfi['BNAME']
dfo['description']=dfi['BMESG']
dfo['type']='double-float'
dfo['title']=dfi['BMESG']
j = (dfo.groupby(['tagName','opcPath'],as_index=True)
.apply(lambda x: x[['unit','isNumeric','name','description','type','title']].to_dict('series'))
.reset_index())
j.rename(columns={0:'metadata'},inplace=True)
j.to_json("Example.json",orient="records",force_ascii=True)