📜  在 python 中读取 excel 表(1)

📅  最后修改于: 2023-12-03 15:07:47.227000             🧑  作者: Mango

在 Python 中读取 Excel 表

在 Python 中读取 Excel 表可以使用多种库,例如 pandasopenpyxlxlrd 等。这里我们主要介绍 pandasopenpyxl 两种库的使用方法。

使用 pandas 读取 Excel 表
安装 pandas

使用 pip 命令安装:

pip install pandas
基本用法
import pandas as pd

# 读取 Excel 文件
df = pd.read_excel('/path/to/excel/file.xlsx')

# 读取指定 sheet
# sheet_name 参数可以是一个数字(表示第几个 sheet),也可以是 sheet 的名字
df = pd.read_excel('/path/to/excel/file.xlsx', sheet_name='Sheet1')

# 如果文件中存在多个 sheet,可以用下面的方式读取所有 sheet
dfs = pd.read_excel('/path/to/excel/file.xlsx', sheet_name=None)

以上代码读取 Excel 文件时,会将每个 sheet 中的内容转换成一个 pandas.DataFrame 对象。可以通过 DataFrame 对象上的一系列方法来对数据进行处理。例如:

# 查看 DataFrame 的前几行数据
df.head()

# 查看 DataFrame 的简单统计信息
df.describe()

# 查看 DataFrame 的列名
df.columns

# 选择某一列
df['column_name']

# 选择多列
df[['column_1', 'column_2']]

# 进行简单的数据筛选、聚合等操作
df[df['column'] > 10]
df.groupby('column').sum()
写入 Excel 文件
# 将 DataFrame 写入到 Excel 文件
df.to_excel('/path/to/output/file.xlsx')

# 可以指定 sheet 名字
df.to_excel('/path/to/output/file.xlsx', sheet_name='Sheet1')

# 如果文件中已存在同名 sheet,可以指定 overwrite 参数
df.to_excel('/path/to/output/file.xlsx', sheet_name='Sheet1', overwrite=True)
使用 openpyxl 读取 Excel 表
安装 openpyxl

使用 pip 命令安装:

pip install openpyxl
基本用法
from openpyxl import load_workbook

# 读取 Excel 文件
workbook = load_workbook('/path/to/excel/file.xlsx')

# 读取指定 sheet
# sheet_name 参数可以是一个数字(表示第几个 sheet),也可以是 sheet 的名字
sheet = workbook['Sheet1']

# 获取 sheet 中的数据,返回一个二维数组
data = [[cell.value for cell in row] for row in sheet.rows]

# 获取某一个单元格的值
value = sheet['A1'].value

以上代码读取 Excel 文件时,会将每个 sheet 中的内容转换成一个 openpyxl.Worksheet 对象。可以通过 Worksheet 对象上的一系列属性和方法来对数据进行处理。例如:

# 查看有效行数和列数
sheet.max_row
sheet.max_column

# 遍历整个 sheet
for row in sheet.rows:
    for cell in row:
        print(cell.value)
写入 Excel 文件
from openpyxl import Workbook

# 创建一个 workbook 和 sheet
workbook = Workbook()
sheet = workbook.active

# 写入数据
sheet['A1'] = 'Hello, world!'
sheet['B1'] = 123

# 批量写入数据
data = [
    ['Column 1', 'Column 2'],
    [1, 2],
    [3, 4],
]
for row in data:
    sheet.append(row)

# 保存 workbook
workbook.save('/path/to/output/file.xlsx')
总结

以上介绍了在 Python 中使用 pandasopenpyxl 两种库读取和写入 Excel 文件的基本用法。具体使用哪一种库,可以根据自己的需求和习惯进行选择。有了这些工具,我们就可以方便地对 Excel 数据进行处理和分析啦!