Bootstrap

Pandas 中的 read_excel() 读取 excel 数据详细参数用法

前言:read_excel() 参数说明

pandas 中读取 excel 数据的:pd.read_excel()

pandas.read_excel(
        io,
        sheet_name=0,
        header=0,
        names=None,
        index_col=None,
        usecols=None,
        squeeze=False,
        dtype=None,
        engine=None,
        converters=None,
        true_values=None,
        false_values=None,
        skiprows=None,
        nrows=None,
        na_values=None,
        keep_default_na=True,
        verbose=False,
        parse_dates=False,
        date_parser=None,
        thousands=None,
        comment=None,
        skipfooter=0,
        convert_float=True,
        mangle_dupe_cols=True,
        **kwds
)

以下表作为案例,表名为:学习率图形.xlsx

1. 基本用法(io)

直接使用 pd.read_excel(r"文件路径"),默认读取第一个 sheet 的全部数据

实际上就是第一个参数:io,支持 str, bytes, ExcelFile, xlrd.Book, path object, or file-like object

import pandas as pd

data = pd.read_excel(r'学习率图形.xlsx')

print(data)

2. sheet_name(str, int, list, None, default 0)

str 字符串用于引用的 sheet 的名称

import pandas as pd

data = pd.read_excel(r'学习率图形.xlsx', sheet_name='second')

print(data)

int 整数用于引用的sheet的索引(0开始)

import pandas as pd

data = pd.read_excel(r'学习率图形.xlsx', sheet_name=1)

print(data)

字符串或整数组成的列表用于引用特定的 sheet

import pandas as pd

data = pd.read_excel(r'学习率图形.xlsx', sheet_name=[0, 'second'])

print(data)

3. header(int, list of int, default 0)

表示用第几行作为表头,默认 header=0,即默认第一行为表头

import pandas as pd

data = pd.read_excel(r'学习率图形.xlsx',header=0)

print(data.head())

hearder=[1,2,3]:选择第 2,3,4 行的数据作为表头

import pandas as pd

data = pd.read_excel(r'学习率图形.xlsx',header=[1,2,3])

print(data.head())

header=None:表示不使用数据源中的表头

import pandas as pd

data = pd.read_excel(r'学习率图形.xlsx',header=None)

print(data.head())

4.names(array-like, default None)

表示自定义表头的名称,需要传递数组参数

import pandas as pd

data = pd.read_excel(r'学习率图形.xlsx', sheet_name=1, names=['algorithm'])

print(data.head())

5. index_col(int, list of int, default None)

指定列为索引列,默认为 None,也就是索引为 0 的列用作 DataFrame 的行标签

6. usecols(int, str, list-like, or callable default None)

  • 默认为 None,解析所有列
  • 如果为 str,则表示 Excel 列字母和列范围的逗号分隔列表(例如 "A:E""A, C, E:F"'A:B,D:G'), 范围全闭
  • 如果为 int,则表示解析到第几列。
  • 如果为 int 列表,则表示解析那几列。

str:usecols="A:C", 只读取从 A 列到 C 列的数据

import pandas as pd

data = pd.read_excel(r'学习率图形.xlsx', usecols="A:C")

print(data.head())

int:usecols=3, 表示解析第 0,1,2,3 列,共 4

import pandas as pd

data = pd.read_excel(r'学习率图形.xlsx', usecols=3)

print(data.head())

int of list:usecols=[0,1,4],表示解析第 1 列,第 2 列,第 5 列的数据

import pandas as pd

data = pd.read_excel(r'学习率图形.xlsx', usecols=[0,1,4])

print(data.head())

注: 当 header 为多行组成的表头时,使用 usecols 会爆如下错误:

ValueError: cannot specify usecols when specifying a multi-index header

7. squeeze(bool, default False)

默认为 False。如果设置 squeeze=True 则表示如果解析的数据只包含一列,则返回一个 Series。

;