csv 对 pandas 数据框的响应

问题描述 投票:0回答:1

我有这个代码:

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

python pandas python-requests read.csv
1个回答
0
投票

response.text 中的数据不是可以解析为 csv 文件的格式。它的结构具有多个分隔符和不规则的换行符。数据似乎用分号分隔,并且某些行比其他行具有更多字段。

你必须做

df = pd.read_csv(io.StringIO(response.text), sep=';')

它应该可以工作,但是一旦与上述语句一起工作,您可能需要做一些更改,因为正如我提到的,您的数据结构不正确。

© www.soinside.com 2019 - 2024. All rights reserved.