如何避免 pandas to_json 转义 url 中的转发灰烬
How to avoid pandas to_json escaping forward ashes in urls
我正在尝试将 JSON 文件数据加载到数据框中,过滤一些记录,然后再次将其写回文件。我的文件每行包含一个 JSON 记录,每个记录中都有一个 URL。
这是输入文件中的示例数据。
{"site_code":"111","site_url":"https://www.site111.com"}
{"site_code":"222","site_url":"https://www.site333.com"}
{"site_code":"333","site_url":"https://www.site333.com"}
我使用的示例代码
import pandas as pd
sites = pd.read_json('sites.json', lines=True)
modified_sites = sites[sites['site_code']!=222]
modified_sites.to_json('modified_sites.json',orient='records',lines=True)
但是生成的文件包含转义的正斜杠
{"site_code":111,"site_url":"https:\/\/www.site111.com"}
{"site_code":333,"site_url":"https:\/\/www.site333.com"}
如何避免它并在生成的文件中获取以下数据?
{"site_code":111,"site_url":"https://www.site111.com"}
{"site_code":333,"site_url":"https://www.site333.com"}
注意:我参考了这些但对我的情况没有帮助
您可以尝试直接格式化转义斜杠并将结果保存到文件:
import pandas as pd
import numpy as np
sites = pd.read_json('sites.json', lines=True)
modified_sites = sites[sites['site_code']!=222]
modified_sites.to_json('modified_sites.json',orient='records',lines=True)
formatted_json = modified_sites.to_json(orient='records',lines=True).replace('\/', '/')
print(formatted_json, file=open('modified_sites.json', 'w'))
我正在尝试将 JSON 文件数据加载到数据框中,过滤一些记录,然后再次将其写回文件。我的文件每行包含一个 JSON 记录,每个记录中都有一个 URL。 这是输入文件中的示例数据。
{"site_code":"111","site_url":"https://www.site111.com"}
{"site_code":"222","site_url":"https://www.site333.com"}
{"site_code":"333","site_url":"https://www.site333.com"}
我使用的示例代码
import pandas as pd
sites = pd.read_json('sites.json', lines=True)
modified_sites = sites[sites['site_code']!=222]
modified_sites.to_json('modified_sites.json',orient='records',lines=True)
但是生成的文件包含转义的正斜杠
{"site_code":111,"site_url":"https:\/\/www.site111.com"}
{"site_code":333,"site_url":"https:\/\/www.site333.com"}
如何避免它并在生成的文件中获取以下数据?
{"site_code":111,"site_url":"https://www.site111.com"}
{"site_code":333,"site_url":"https://www.site333.com"}
注意:我参考了这些但对我的情况没有帮助
您可以尝试直接格式化转义斜杠并将结果保存到文件:
import pandas as pd
import numpy as np
sites = pd.read_json('sites.json', lines=True)
modified_sites = sites[sites['site_code']!=222]
modified_sites.to_json('modified_sites.json',orient='records',lines=True)
formatted_json = modified_sites.to_json(orient='records',lines=True).replace('\/', '/')
print(formatted_json, file=open('modified_sites.json', 'w'))