如何将requests返回的分号分隔CSV格式响应转换为Pandas DataFrame
你拿到的响应属于标准的分号分隔类CSV文本,无需JSON解析操作,直接通过Pandas内置的CSV读取能力即可完成转换,具体操作如下:
- 第一步:导入依赖库
import pandas as pd from io import StringIO import requests
- 第二步:执行请求获取响应(直接复用Postman导出的requests代码即可)
# 替换为Postman生成的对应请求代码 url = "目标接口地址" headers = { # 你的请求头参数 } params = { # 你的请求参数 } response = requests.get(url, headers=headers, params=params) # 可先打印前500字符确认格式无误 # print(response.text[:500])
- 第三步:将响应文本转换为DataFrame
# 将字符串响应包装为文件流对象,指定分号为分隔符读取 csv_io = StringIO(response.text) df = pd.read_csv(csv_io, sep=';')
- 可选异常适配处理:如果读取结果不符合预期,可根据实际格式调整
read_csv参数:- 若表头不在第一行,添加
header=N参数,N为表头所在的行号(从0开始计数) - 若开头存在多余无效行,添加
skiprows=N参数跳过前N行 - 若末尾存在多余无效行,添加
skipfooter=N参数跳过最后N行 - 若存在字段内部的分号转义,添加
escapechar='\\'指定转义符
- 若表头不在第一行,添加
验证结果可执行print(df.columns)确认表头是否完整包含5个目标字段,执行print(df.head())查看前几行数据是否匹配需求。
内容的提问来源于stack exchange,提问作者Roger
相关产品推荐
相关产品推荐

