pandas读取excel文件以及相关参数解释
读取excel文件以及相关参数解释
- read_excel常用参数解释,包括(header、index_col、sheet_name、skipfooter、skiprows、converters等)
# *header*(int, list of int, default 0)
f = pd.read_excel(r"E:\Desktop\pandas练习文件\data01.xlsx",header=0)
#参数解释,header为0时从第一行数据开始读取,为1时是表示从第二行开始读取
#此外,hearder=[1,2,3]:选择第2,3,4行的数据作为表头
#header=None :表示不使用数据源中的表头
# *names* (list, default None)
#names = ["ID","Name","Age","Sex"]
#更改列标签,图例中更改了原始的表头,所给的数量必须够,不够就报错
# *index_col*(int, list of int, default None)
df = pd.read_excel(r"E:\Desktop\pandas练习文件\data01.xlsx",index_col=0)
# index_col=0,表示以第一行作为索引,index_col=1,表示以第二行作为索引
# *sheet_name* (str, int, list, None, default 0)
df = pd.read_excel(r"E:\Desktop\pandas练习文件\data01.xlsx",sheet_name=0)
#sheet_name读取指定的工作簿,可以是工作表的名称,也可以是工作博的位置,0指的是第一个工作表
#在读取列标签时需要注意的是如果列标签中含有空格,直接选取会报错如df['温度 ℃']
df.rename(columns={'温度 ℃': '温度'}, inplace=True)#此时可对列明重新命名
# *usecols* (int, str, list-like, or callable default None)
'''
默认为None,解析所有列
如果为str,则表示Excel列字母和列范围的逗号分隔列表(例如“ A:E”或“ A,C,E:F”)。范围全闭
如果为int,则表示解析到第几列
如果为int列表,则表示解析那几列
'''
# *skipfooter*
#跳过标题行货尾部数据来源行
df = pd.read_excel(r"E:\Desktop\pandas练习文件\data01.xlsx",skipfooter=2)
#skipfooter=2,跳过末尾2行数据
# *skiprows*
df = pd.read_excel(r"E:\Desktop\pandas练习文件\data01.xlsx",skiprows=1)
#skipfooter=1,跳过开头的1行数据
#其实header=*,可以和skiprows起到类似的效果,都是从第几行开始读,不过header可以默认标题行
#skiprows=[1,3,5] 跳过第1,3,5行
#skiprows=lambda x: x % 2 == 0 跳过偶数行
#*dtype*,其作用是指定列的数据类型
df = pd.read_excel(r"E:\Desktop\pandas练习文件\data01.xlsx",dtype={0:object,2:"float64"})
print(df)
# *converters*
#对指定列的数据进行指定函数的处理,传入参数为列名与函数组成的字典。key 可以是列名或者列的序号,values是函数,可以def函数或者直接lambda都行。
df = pd.read_excel(r"E:\Desktop\pandas练习文件\data01.xlsx",converters={"证件号":str})
#converters参数,可以指定读取基些列为指定数据类型
# *nrows* (int, default None);指定需要读取前多少行,通常用于较大的数据文件中。
nrows=3 读取前三行
# na_values(scalar, str, list-like, or dict, default None)
- 指定某些列的某些值为NaN
df = pd.read_excel(filename,nrows=9,index_col=0,na_values={"姓名":"小王"})
#指定姓名这一行,的“小王”这个值为“NaN”
记录学习的点点滴滴