python读取excel

发布于:2024-09-06 ⋅ 阅读:(61) ⋅ 点赞:(0)

目录

1. 安装 pandas 和 openpyxl

2. 读取Excel文件

2.1. 设置head所在行

3. 读取特定的工作表

4. 读取多个工作表

5. 选择特定的列或行

6. 处理缺失值和数据类型

7. 保存读取的数据

8. 按行遍历数据

9、按列遍历数据


在Python中读取Excel文件,最常用的库是 pandaspandas 提供了强大的数据操作功能,能够方便地读取和处理Excel文件。下面是如何使用 pandas 读取Excel文件的步骤。

1. 安装 pandasopenpyxl

如果你还没有安装 pandasopenpyxl,需要先安装它们。openpyxlpandas 用于处理Excel文件的默认引擎。

你可以使用以下命令安装它们:

pip install pandas openpyxl

2. 读取Excel文件

使用 pandas 中的 read_excel 方法可以读取Excel文件。以下是一个简单的例子:

import pandas as pd

# 读取Excel文件
df = pd.read_excel('example.xlsx')

# 查看数据的前五行
print(df.head())
2.1. 设置head所在行

# 下标从 0 开始

pd.read_excel('header.xlsx', header=1)

# 第1、2行复合标题头 ,第一列为索引列

pd.read_excel('header.xlsx', header=[0, 1],  index_col=0)

3. 读取特定的工作表

如果Excel文件中有多个工作表,你可以指定要读取的工作表名称或索引:

# 读取名为 'Sheet1' 的工作表
df = pd.read_excel('example.xlsx', sheet_name='Sheet1')

# 或者使用工作表的索引 (0表示第一个工作表)
df = pd.read_excel('example.xlsx', sheet_name=0)

4. 读取多个工作表

你还可以同时读取多个工作表,并将它们存储在一个字典中:


# 读取多个工作表
dfs = pd.read_excel('example.xlsx', sheet_name=['Sheet1', 'Sheet2'])

# dfs 是一个字典,键是工作表名,值是相应的DataFrame
print(dfs['Sheet1'].head())
print(dfs['Sheet2'].head())

或者读取所有工作表:


# 读取所有工作表
dfs = pd.read_excel('example.xlsx', sheet_name=None)

# 迭代所有的工作表
for sheet_name, df in dfs.items():
    print(f"Sheet name: {sheet_name}")
    print(df.head())

5. 选择特定的列或行

你可以选择读取特定的列或行,或者指定数据的范围:


# 读取特定的列
df = pd.read_excel('example.xlsx', usecols="A:C")  # 读取 A 到 C 列

# 读取特定的行
df = pd.read_excel('example.xlsx', skiprows=1)  # 跳过前1行

6. 处理缺失值和数据类型

pandas 在读取Excel文件时,会自动处理缺失值和数据类型。你可以使用 na_values 参数来指定额外的缺失值标识:


# 自定义缺失值标识
df = pd.read_excel('example.xlsx', na_values=['NA', 'N/A', '--'])

7. 保存读取的数据

读取的Excel文件内容将存储在 DataFrame 对象中,你可以对数据进行各种操作后,再将其保存为其他格式的文件,例如另一个Excel文件或CSV文件:

# 将数据保存为新的Excel文件 

df.to_excel('output.xlsx', index=False) 

# 保存为CSV文件 

df.to_csv('output.csv', index=False)

8. 按行遍历数据

data = pd.read_excel('output.xlsx')

# 遍历每一行数据
for index, row in data.iterrows():
    column1_value = row['Column1']
    column2_value = row['Column2']
    # 对数据进行处理...

9、按列遍历数据

import pandas as pd
 
# 读取Excel文件
data = pd.read_excel('output.xlsx')
 
# 遍历每一列数据
for column_name, column_data in data.iteritems():
    # 对数据进行处理...
    print(f"Column Name: {column_name}")
    print("Column Data:")
    print(column_data)