我有这个代码:
import requests
import json
import pandas as pd
import io
response = requests.request("GET", url, headers=headers, data=payload)
它返回一个响应:
print(response.text)
GENESIS-Tabelle: 45213-0005 Turnover from accommodation and food services: Germany,;;;;;;;;;;;;; months, price types, original and adjusted data, economic;;;;;;;;;;;;; activities;;;;;;;;;;;;; Monthly statistics: accommodation a. food services;;;;;;;;;;;;; Germany;;;;;;;;;;;;; Turnover (2015=100);;;;;;;;;;;;; ;;Year;;;;;;;;;;; ;;2023;;;;;;;;;;; ;;Months;;;;;;;;;;; ;;January;February;March;April;May;June;July;August;September;October;November;December WZ08-55 Accommodation;;;;;;;;;;;;; at constant prices;BV4.1 trend;100.1;100.0;98.3;95.9;93.4;90.7;88.4;86.7;...;...;...;... WZ08-551 Hotels and similar accommodation;;;;;;;;;;;;; at constant prices;BV4.1 trend;100.6;100.5;98.8;96.4;93.9;91.2;88.9;87.3;...;...;...;...
我可以将其写入 csv 文件。但无法将其加载到 pandas 中。可以进行哪些更改才能使其发挥作用?
df = pd.read_csv(io.StringIO(response.text))
ParserError:标记数据时出错。 C 错误:行中应有 2 个字段 3、看到4
response.text 中的数据不是可以解析为 csv 文件的格式。它的结构具有多个分隔符和不规则的换行符。数据似乎用分号分隔,并且某些行比其他行具有更多字段。
你必须做
df = pd.read_csv(io.StringIO(response.text), sep=';')
它应该可以工作,但是一旦与上述语句一起工作,您可能需要做一些更改,因为正如我提到的,您的数据结构不正确。