遇到复杂条件下海量的数据透视任务,excel难以驾驭。如对不同部门在不同年份吸收了什么学历的员工,pandas的筛选发挥了神奇的作用。
一、导包
pip install pandas
pip install pyopenxl
pip install tqdm
pandas依赖的xlrd可能不支持对xlsx的读取,解决方法有但比较麻烦,直接下载pyopenxl会方便很多。tqdm是进度条。
import pandas as pd
from tqdm import *
二、读取数据
xlsx文件中可能存在各种类型的数据,pandas对这些数据进行读取时,一般直接读取过来时,数字在导出时会被转化为浮点数,不便处理,因此需要考虑dtype的问题。
pandas支持float、int、bool、datetime64[ns]、datetime64[ns, tz]、timedelta[ns]、category、object,object应该能满足大部分需求了。
file = r'E:\XXX\XXX.xlsx'
# 默认读取第一张sheet
df = pd.read_excel(file)
# 对第二张sheet按object格式读取
df = pd.read_excel(file, 1, dtype=object)
也可以对不同列分别指定读取:
file = r'E:\XXX\XXX.xlsx'
df = pd.read_excel(file, 1, dtype={'某列': object}