Pandas read_excel输出结果:简单易懂的代码示例
Pandas read_excel 输出结果详解:简单易懂的代码示例
Pandas 的 read_excel
函数是数据分析中读取 Excel 文件的利器。它功能强大,选项丰富,能够处理各种复杂的 Excel 文件。本文将详细讲解 read_excel
函数的输出结果,并通过丰富的代码示例,帮助读者轻松掌握其使用方法。
1. read_excel 的基本用法及输出:DataFrame
read_excel
函数最基本的用法是读取一个 Excel 文件并将其转换为 Pandas DataFrame。DataFrame 是 Pandas 的核心数据结构,类似于一个表格,由行和列组成,非常适合进行数据分析和操作。
```python
import pandas as pd
读取 Excel 文件
df = pd.read_excel("data.xlsx")
打印 DataFrame
print(df)
查看 DataFrame 的类型
print(type(df))
```
在上面的代码中,pd.read_excel("data.xlsx")
读取名为 data.xlsx
的 Excel 文件,并将其转换为 DataFrame 存储在变量 df
中。print(df)
将打印 DataFrame 的内容,而 print(type(df))
将输出 <class 'pandas.core.frame.DataFrame'>
,确认 df
的类型确实是 DataFrame。
2. 处理不同 Sheet:sheet_name 参数
Excel 文件通常包含多个 Sheet。read_excel
函数的 sheet_name
参数可以指定要读取的 Sheet。
```python
读取名为 "Sheet2" 的 Sheet
df_sheet2 = pd.read_excel("data.xlsx", sheet_name="Sheet2")
print(df_sheet2)
读取多个 Sheet
df_multiple = pd.read_excel("data.xlsx", sheet_name=["Sheet1", "Sheet3"])
print(df_multiple) # 返回一个字典,键为 sheet_name,值为对应的 DataFrame
读取所有 Sheet
df_all = pd.read_excel("data.xlsx", sheet_name=None)
print(df_all) # 返回一个字典,键为 sheet_name,值为对应的 DataFrame
使用索引读取 Sheet
df_index1 = pd.read_excel("data.xlsx", sheet_name=1) # 读取第二个 Sheet (索引从 0 开始)
print(df_index1)
```
sheet_name
参数可以接受字符串(Sheet 名称)、整数(Sheet 索引)、列表(多个 Sheet 名称或索引)或 None
(读取所有 Sheet)。当读取多个 Sheet 时,返回一个字典,键为 Sheet 名称,值为对应的 DataFrame。
3. 处理表头和索引:header 和 index_col 参数
header
参数指定哪一行作为列名(表头)。index_col
参数指定哪一列或哪几列作为行索引。
```python
使用第一行作为表头
df_header = pd.read_excel("data.xlsx", header=0)
使用第二行作为表头
df_header2 = pd.read_excel("data.xlsx", header=1)
不使用表头
df_no_header = pd.read_excel("data.xlsx", header=None)
使用第一列作为索引
df_index = pd.read_excel("data.xlsx", index_col=0)
使用多列作为索引
df_multi_index = pd.read_excel("data.xlsx", index_col=[0, 1])
```
4. 处理缺失值:na_values 和 keep_default_na 参数
na_values
参数可以指定哪些值被视为缺失值。keep_default_na
参数控制是否保留默认的缺失值表示(例如空单元格)。
```python
将 "N/A" 和 "-" 视为缺失值
df_na = pd.read_excel("data.xlsx", na_values=["N/A", "-"])
不保留默认的缺失值表示
df_no_default_na = pd.read_excel("data.xlsx", keep_default_na=False)
```
5. 使用 usecols 读取指定的列
usecols
参数可以指定读取哪些列。可以传入列名列表、整数列表(列索引)或字符串(Excel 中的列字母,例如 "A:C")。
```python
读取 "Name" 和 "Age" 两列
df_usecols_names = pd.read_excel("data.xlsx", usecols=["Name", "Age"])
读取前三列
df_usecols_index = pd.read_excel("data.xlsx", usecols=[0, 1, 2])
读取 A 列到 C 列
df_usecols_excel = pd.read_excel("data.xlsx", usecols="A:C")
使用 callable 函数选择列
df_usecols_callable = pd.read_excel("data.xlsx", usecols=lambda x: x in ["Name", "Age"])
```
6. 控制数据类型:dtype 和 converters 参数
dtype
参数可以指定每一列的数据类型。converters
参数可以指定函数对特定列进行转换。
```python
将 "Age" 列转换为字符串类型
df_dtype = pd.read_excel("data.xlsx", dtype={"Age": str})
使用 lambda 函数将 "Age" 列的值加 1
df_converters = pd.read_excel("data.xlsx", converters={"Age": lambda x: int(x) + 1})
```
7. 跳过行:skiprows 参数
skiprows
参数可以跳过文件开头 specified number of rows or a list of row indices to skip.
```python
跳过前两行
df_skiprows = pd.read_excel("data.xlsx", skiprows=2)
跳过指定行数
df_skiprows_list = pd.read_excel("data.xlsx", skiprows=[0, 2, 4])
```
8. nrows 参数:读取指定行数
```python
只读取前 5 行
df_nrows = pd.read_excel("data.xlsx", nrows=5)
```
9. 处理日期和时间:parse_dates 和 date_parser 参数
parse_dates
参数指定哪些列需要解析为日期时间类型。date_parser
参数可以指定自定义的日期时间解析函数。
```python
将 "Date" 列解析为日期时间类型
df_parse_dates = pd.read_excel("data.xlsx", parse_dates=["Date"])
使用自定义的日期时间解析函数
def custom_date_parser(x):
return pd.to_datetime(x, format="%Y-%m-%d %H:%M:%S")
df_date_parser = pd.read_excel("data.xlsx", parse_dates=["Date"], date_parser=custom_date_parser)
```
10. 处理大型 Excel 文件:chunksize 参数
对于非常大的 Excel 文件,可以使用 chunksize
参数将其分块读取,以避免内存不足。 chunksize
指定每次读取的行数。
```python
分块读取,每次读取 100 行
for chunk in pd.read_excel("data.xlsx", chunksize=100):
print(chunk) # 处理每一块数据
```
以上是 Pandas read_excel
函数的常用参数和使用方法。通过灵活运用这些参数,可以高效地读取各种 Excel 文件,并将其转换为 Pandas DataFrame 进行数据分析。 记住,实践出真知,最好的学习方法是结合实际案例进行练习。 可以尝试使用不同的 Excel 文件和参数组合,深入理解 read_excel
函数的强大功能。