gpt4 book ai didi

Python 3 - 将变量导入字典

转载 作者:行者123 更新时间:2023-12-01 04:26:42 25 4
gpt4 key购买 nike

我正在尝试将下面的打印命令的输出放入字典中(没有成功),以便我随后可以将其导出到 CSV。

我怎样才能得到parseddata (下面打印的输出)放入字典中?

示例输入文件:

<html>
<body>
<p>{ success:true ,results:3,rows:[{ISIN:"INE134E01011",Ind:"-",Audited:"Un-Audited",Cumulative:"N‌​on-cumulative",Consolidated:"Non-Consolidated",FilingDate:"14-Aug-2015 15:39",SeqNumber:"1001577"},{ISIN:"INE134E01011",Ind:"-",Audited:"Un-Audited",Cu‌​mulative:"Non-cumulative",Consolidated:"Non-Consolidated",FilingDate:"30-May-2015 14:37",SeqNumber:"129901"},{ISIN:"INE134E01011",Ind:"-",Audited:"Un-Audited",Cum‌​ulative:"Non-cumulative",Consolidated:"Non-Consolidated",FilingDate:"17-Feb-2015 14:57",SeqNumber:"126171"}]}</p>
</body>
</html>

我的代码:

import requests
import re
from bs4 import BeautifulSoup
url = requests.get("http://. . .")
soup = BeautifulSoup(url.text, "lxml")
parseddata = soup.string.split(':[', 1)[1].lstrip(']')
print(parseddata)

print(parseddata)的输出是:

{ISIN:"INE134E01011",Ind:"-",Audited:"Un-Audited",Cumulative:"Non-cumulative",Consolidated:"Non-Consolidated",FilingDate:"14-Aug-2015 15:39",SeqNumber:"1001577"},{ISIN:"INE134E01011",Ind:"-",Audited:"Un-Audited",Cumulative:"Non-cumulative",Consolidated:"Non-Consolidated",FilingDate:"30-May-2015 14:37",SeqNumber:"129901"},{ISIN:"INE134E01011",Ind:"-",Audited:"Un-Audited",Cumulative:"Non-cumulative",Consolidated:"Non-Consolidated",FilingDate:"17-Feb-2015 14:57",SeqNumber:"126171"}]}

最佳答案

除了末尾的大括号/方括号之外,这是有效的 JSON 这是有效的 YAML(我在最初的答案中犯了一个错误;可以在不引用属性的情况下声明 JavaScript 对象,但可移植格式 JSON 不允许这样做;YAML 允许)。

按照说明进行操作 here使用 PyYAML 解析数据。手动 split-ing 和 lstrip 会伤害您,并使事情变得比需要的更加困难。只需获取 text,然后使用 yaml 进行解析(这是必须单独安装的第三方模块):

import requests
import yaml
from bs4 import BeautifulSoup

url = requests.get("http://. . .")
soup = BeautifulSoup(url.text, "lxml")
# Use safe_load over load to avoid opening security holes; YAML can do
# a lot of unsafe things if the input isn't trusted, but handling JS
# object literals can be done safely with safe_load
response_object = yaml.safe_load(soup.string.strip())
data_rows = response_object['rows']

for row in data_rows:
... do stuff with each returned row ...

您可以在 PyYAML tutorial 上阅读更多内容.

关于Python 3 - 将变量导入字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33003688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com