【发布时间】:2018-05-16 21:29:24
【问题描述】:
我向一个 api 发出请求,它返回了
b"001-1001\thazraja\t122.9668944300\t43.1858693000\t[YES]\t1456529273000\t2437.0000000000\n001-1002\tZ8s14\t122.9671153000\t43.1860681800\t[NO]\t1456529275000\t2462.0000000000\n..."
这样持续了一段时间,从回车“\n”重新开始。它在重新开始之前总是有 7 个项目。
print(response.headers["content-type"]) 返回
text/xml;charset=UTF-8
如何访问“001-1001”以及“thajraza”等?我不确定 api 返回的事物类型的名称是什么?是清单吗?一本字典?还有什么?
【问题讨论】:
-
为什么要解析字典?它的意义是什么?另外,“这种类型的回报”到底指的是什么?
-
@UlrichEckhardt 我不明白 api 返回了什么。我看到它是由“b”指示的字节,我看到制表符和回车,我只是在寻找访问“001-1001”以及“thazraja”等的内容。
-
更新了问题。
-
啊。两件事:它声称是 XML (
text/xml),这似乎是一个谎言。相反,这似乎是一个由制表符分隔的字符串序列。现在,要将“原始”字节转换为字符串,请使用decode()方法。这声称是 UTF-8 (charset=UTF-8),但这也可能是错误的,但这只会在您有 ASCII 以外的字符时显示。使用该字符串,按照您在下面找到的答案和/或 CSV 模块继续操作。
标签: python html dictionary utf-8