【问题标题】:How to avoid pandas to_json escaping forward ashes in urls如何避免 pandas to_json 在 url 中转义前向灰烬
【发布时间】:2021-07-21 13:44:12
【问题描述】:

我正在尝试将 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"}

注意:我提到了这些,但对我的案例没有帮助

  1. pandas to_json() redundant backslashes

【问题讨论】:

标签: python json pandas dataframe serialization


【解决方案1】:

您可以尝试直接格式化转义的斜线并将结果保存到文件中:

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'))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多