pandas 读excel文件,pandas 读excel文件
read_excel()的基本用法
进口熊猫作为pd
file_name=xxx.xlsx
pd.read_excel(文件名)
read_excel()的两个常用参数:
Io: excel路径可以是文件路径、类文件对象、文件路径对象等。
Sheet_name=0:访问指定的excel工作表。Sheet_name可以是str、int、list或者None,默认值为0。
类型str是直接指定的工作表的名称。
int类型是指定从0开始的工作表的索引,所以sheelt_name的默认值是0,也就是第一张工作表。
列表类型是由多个索引或工作表名称组成的列表,并指定多个工作表。
键入None以访问所有工作表。
Sheet_name=0:获取第一张表的DataFrame类型的数据。
Sheet_name=2:获取第三张工作表的DataFrame类型的数据。
Sheet _ name= Test1 :获取sheet_name=Test1 的DataFrame类型的数据。
Sheet _ name=[0,3, Test5]:第一个、第四个和Test5工作表是作为DataFrame类型的数据字典获得的。
Header=0: Header是标题行。通过指定特定的行索引,该行被用作数据的标题行,即整个数据的列名。第一行的默认数据(0-索引)用作标题行。如果传入一个整数列表,这些行将被组合成一个多级列索引。无题头行使用题头=无。
Name=None:传入一列数组类型的数据,用作数据的列名。如果文件数据不包含标题行,请明确指出header=None。
Skiprows:int类型、类列表类型或可调函数。要跳过的行号(0索引)或文件开头要跳过的行数(int)。如果是callable,callable函数将根据行索引进行计算,如果应该跳过该行,则返回True,否则返回False。一个有效的可调用参数的例子是lambda x: x in [0,1,2]。
Skipfooter=0: int类型,默认值为0。从底部到顶部,指定要从尾部跳过的行数。
Usecols=None:如果默认情况下未解析所有列,请指定要使用的列。
Index_col=None: int或元素全为int的列表。将某一列的数据作为DataFrame的行标签。如果传递了一个列表,这些列将被合并成一个多索引。如果使用由usecols选择的子集,index_col将基于该子集。
Squeeze=False,布尔值,默认为False。如果只有一列已解析的数据,则返回一个序列。
Dtype=None:指定列的数据类型,可以使用类型名或与列名和类型对应的字典,例如{a: np.int64, b: str}
Nrows=None: int类型,默认为None。仅分析指定行数的数据。
三个例子
它是如图所示使用的excel文件,包含5张工作表。
在此插入图片描述。
1.IO:路径
例如,如果IO是一个文件对象,有时当文件路径包含复杂的中文字符串时,熊猫可能无法解析文件路径,这可以通过使用文件对象来解决。
file=xxxx.xlsx
f=打开(文件,“rb”)
df=pd.read_excel(f,sheet_name=Sheet1 )
F.close() #如果不使用with,记得手动释放。
# -带模式
用open(file, rb )作为f:
df=pd.read_excel(f,sheet_name=Sheet1 )
2.工作表名称:指定工作表名称。
Sheet _ name= sheet ,它指定分析名为 Sheet1 的工作表。返回DataFrame类型的数据。
df=pd.read_excel(file,sheet_name=Sheet1 )
在此插入图片描述。
Sheet _ name=[0,1, Sheet1],它对应于解析文件的第一个和第二个工作表以及名为 Sheet1 的工作表。它返回一个有序的字典。结构{名称:数据帧}就是这种类型。
df_dict=pd.read_excel(file,sheet_name=[0,1, Sheet1])
在此插入图片描述。
Sheet_name=None将解析该文件中的所有工作表,并返回如上的字典类型数据。
df_dict=pd.read_excel(文件,工作表名称=无)
在此插入图片描述。
3.标题:指定标题行。
Python客栈送红包,送纸质书。
Header用于指定数据的标题行,即数据的列名。本文使用的示例文件有中英文两个列名,默认header=0是使用第一行数据作为数据的列名。
df_dict=pd.read_excel(file,sheet_name=Sheet1 )
在此插入图片描述。
Header=1,用于在第二行指定英文列名。
df_dict=pd.read_excel(file,sheet_name=Sheet1 ,header=1)
在此插入图片描述。
请注意,如果无法将任何行指定为列名,或者如果数据源是没有标题行的数据,则可以显示指定的header=None,以指示不使用列名。
df_dict=pd.read_excel(file,sheet_name=Sheet1 ,header=None)
4.名称:指定列名
指定数据的列名。如果数据已经有一个列名,原始的列名将被替换。
df=pd.read_excel(file,sheet_name=Sheet1 ,names=list(123456789ABCDE ))
在此插入图片描述。
上图是header=0。第一行的中文名称默认为标题行,最后用名称替换列名。如果您只想使用名称而不对源数据进行任何修改,我们可以指定header=None。
df=pd.read_excel(file,sheet_name=Sheet1 ,names=list(123456789ABCDE ),header=None)
在此插入图片描述。
5.索引列:指定列索引
df=pd.read_excel(file,sheet_name=Sheet1 ,header=1,index_col=0)
在此插入图片描述。
6.skiprows:跳过指定数量的数据行。
df=pd.read_excel(file,sheet_name=Sheet1 ,skiprows=0)
在此插入图片描述。
df=pd.read_excel(file,sheet_name=Sheet1 ,skiprows=[1,3,5,7,9,])
在此插入图片描述。
它在某些情况下与header skiprows有相同的效果,比如skiprows=5,header=5。因为跳过5行之后,第6行,也就是索引为5的那一行默认为标题行。请注意,skiprows=5的5是行数,header=5的5是索引为5的行。
df=pd.read_excel(file,sheet_name=Sheet1 ,header=5)
在此插入图片描述。
df=pd.read_excel(file,sheet_name=Sheet1 ,skiprows=5)
在此插入图片描述。
7.skipfooter:从尾部省略行数据。
的原始数据有47行,如下图所示:
在此插入图片描述。
从尾部跳过5行:
df=pd.read_excel(file,sheet_name=Sheet1 ,skipfooter=5)
在此插入图片描述。
8.dtype指定一些列的数据类型
在样本数据中,测试代码数据是文本,pandas在解析时自动转换为int64类型,这样codes列的第一个0就会消失,导致数据错误,如下图所示。
在此插入图片描述。
指定代码列的数据类型:
df=pd.read_excel(file,sheet_name=Sheet1 ,header=1,dtype={codes: str})
在此插入图片描述。
关于熊猫读取excel文件的这篇文章到此结束。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。