Pandas库read_excel()参数详解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pandas库read_excel()参数详解相关的知识,希望对你有一定的参考价值。
参考技术A io :字符串,文件的路径对象。sheet_name :None、string、int、字符串列表或整数列表,默认为0。字符串用于工作表名称,整数用于零索引工作表位置,字符串列表或整数列表用于请求多个工作表,为None时获取所有工作表。
header :指定作为列名的行,默认0,即取第一行的值为列名。数据为列名行以下的数据;若数据不含列名,则设定 header = None。
names :默认为None,要使用的列名列表,如不包含标题行,应显示传递 header=None 。
index_col :指定列为索引列,默认None列(0索引)用作DataFrame的行标签。
usecols :int或list,默认为None。
squeeze :boolean,默认为False,如果解析的数据只包含一列,则返回一个Series。
dtype :列的类型名称或字典,默认为None。数据或列的数据类型。例如'a':np.float64,'b':np.int32使用对象保存存储在Excel中的数据而不解释dtype。如果指定了转换器,则它们将应用于dtype转换的INSTEAD。
skiprows :省略指定行数的数据,从第一行开始。
skipfooter :省略指定行数的数据,从尾部数的行开始。
dtype :字典类型'列名1':数据类型,‘列名’:数据类型,设定指定列的数据类型。
通过 pandas.read_excel 在标题后跳过行范围
【中文标题】通过 pandas.read_excel 在标题后跳过行范围【英文标题】:Skipping range of rows after header through pandas.read_excel 【发布时间】:2018-09-22 20:56:54 【问题描述】:我知道pandas.read_excel()
中的参数usecols
允许您选择特定的列。
假设我用pandas.read_excel()
读入了一个 Excel 文件。我的 excel 电子表格有 1161 行。我想保留第一行(索引为 0),并跳过第 2:337 行。似乎参数 skiprows
仅在涉及 0 索引时才有效。我不知道我是否错了,但我的代码的几次运行总是产生读取我的 1161 行的 all 的输出,而不是仅在第 337 行之后。比如这样:
documentationscore_dataframe = pd.read_excel("Documentation Score Card_17DEC2015 Rev 2 17JAN2017.xlsx",
sheet_name = "Sheet1",
skiprows = "336",
usecols = "H:BD")
这是我设置的另一种尝试。
documentationscore_dataframe = pd.read_excel("Documentation Score Card_17DEC2015 Rev 2 17JAN2017.xlsx",
sheet_name = "Sheet1",
skiprows = "1:336",
usecols = "H:BD")
我希望数据框在原始 Excel 导入中排除第 2 到 337 行。
【问题讨论】:
【参考方案1】:根据documentation 的pandas.read_excel
,skiprows
必须类似于列表。
试试这个来排除第 1 到 336 行(含):
df = pd.read_excel("file.xlsx",
sheet_name = "Sheet1",
skiprows = range(1, 337),
usecols = "H:BD")
注意:range
构造函数被视为类似list
,因此不需要显式的列表转换。
【讨论】:
+1 表示它类似于列表,解决了我阅读标题但跳过第一行之后的问题(pd.read_excel(path, skiprows=[1])
)以上是关于Pandas库read_excel()参数详解的主要内容,如果未能解决你的问题,请参考以下文章
一个参数一个xlsx表,让你玩转Pandas中read_excel()表格读取!
pandas.read_excel 参数“sheet_name”不起作用
pandas中pd.read_excel()方法中的converters参数
pandas.read_excel参数“sheet_name”无法正常工作,,将sheet_name改写成sheetname