0%

pandas直接处理文件io流

hello 大家好我是Monday,不定期一个小技巧,今天给大家介绍下如何利用pandas 去处理excel文件数据io流,内容不多,

拿来即用。

前言:

​ 需求背景是从一个网站上下文excel文件,把文件数据处理好落库

方式一:

先把数据下载落地成本地excel文件,在用pandas读取文件,并处理,,相关代码如下

1
2
3
4
with open("./ss4.xlsx", mode="wb") as f:
f.write(response.content)
# 读取Excel文件
df = pd.read_excel(io="./ss4.xlsx", usecols=cols, na_values='#N') # 读取指定列的excel数据

方式二:

直接在获取的过程中,将请求结果转换成io流,并以io流的形式传递给pandas,相关代码如下

1
2
3
4
5
6
7
8
9
10
11
12
import io
response = requests.get(url, headers=headers, cookies=json.loads(cookies), params=params)
file_stream = io.BytesIO(response.content)
excel_file = pd.ExcelFile(file_stream)
sheet_list = excel_file.sheet_names # 获取excel的所有sheet

# 遍历所有工作表并输出数据
for index, sheet in enumerate(sheet_list):
df = pd.read_excel(io=excel_file, sheet_name=sheet)
# 替换Excel表格内的空单元格,否则在下一步处理中将会报错
df.fillna("", inplace=True)
column_list = df.columns

好嘞,今天的分享就到这里了,小小水文一篇。

结束语

​ 今天的分享就到这里了,欢迎大家关注微信公众号”菜鸟童靴