pandas 读excel文件,pandas 读excel文件

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: