python requests.response返回的是表格二进制数据流,对表格的处理方法和应用
前言:在工作中需要调用一些接口对数据进行处理,有一些就是表格的下载,返回的不是 json数据,而是二进制数据流如何进行处理呢
- 接收二进制数据使用 response.content
import requests
response = requests.post('your_url', headers=headers,json=json_data, stream=True)
# response.content 接收数据
- 解析二进制数据(表格) 转换成 DataFrame格式
import pandas as pd
import io
with io.BytesIO(response.content) as fh:
df = pd.io.excel.read_excel(fh, 0) # 0这个参数是指读取该excel哪个sheet 索引0开始计数
# print(type(df)) # <class 'pandas.core.frame.DataFrame'>
-
筛选所需要的行列(假定有一列为“排放标准”对其进行筛选)
`loc`按标签值(列名和行索引取值)访问 `~`代表取反 `isin`代表这列数据需要在条件中
condition = ["国六", "新能源"] # 筛选条件一定要写成列表不然生效
a = df.loc[~df["排放标准"].isin(condition)] # 筛选不是国六、新能源的车
ness_data = a["车牌号"] #取出筛选后的数据
ness_data_list = ness_data.values.tolist() # 转成pytho中的list类型就可以进行处理了
取出来a(DataFrame)的数据如下图
- 完整代码如下
import requests
import pandas as pd
import io
headers = {
'Connection': 'keep-alive',
"xxx":xxx
}
json_data = {"greenTag": xxx, "rc": xxx}
response = requests.post('your_url', headers=headers,json=json_data, stream=True)
# response.content 接收数据
with io.BytesIO(response.content) as fh:
df = pd.io.excel.read_excel(fh, 0) # 0这个参数是指读取该excel哪个sheet 索引0开始计数
condition = ["国六", "新能源"] # 筛选条件一定要写成列表不然生效
a = df.loc[~df["排放标准"].isin(condition)] # 筛选不是国六、新能源的车
ness_data = a["车牌号"] #取出筛选后的数据
# ness_data = a[["车牌号","排放标准"]] 筛选多列
ness_data_list = ness_data.values.tolist() # 转成pytho中的list类型就可以进行处理了
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhhajjci
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22