2

我正在尝试以 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)

输入和输出文件

4

0 回答 0