在 Python 中操作 Excel 文件,常见的库有pandas、openpyxl、xlrd和xlwt等,下面分别介绍它们的使用场景和示例代码。
- 使用pandas库
pandas 是一个强大的数据处理库,它可以方便地读取和写入 Excel 文件,并且支持对数据进行各种操作。
安装
bash
pip install pandas openpyxl
openpyxl 是 pandas 读取和写入 .xlsx 文件所需的依赖库。
读取 Excel 文件
python
import pandas as pd
读取 Excel 文件
excel_file = pd.ExcelFile(‘example.xlsx’)
获取指定工作表中的数据
df = excel_file.parse(‘Sheet1’)
查看数据的基本信息
print(‘数据基本信息:’)
df.info()
查看数据集行数和列数
rows, columns = df.shape
if rows:
# 查看数据前几行信息
print(‘数据前几行信息:’)
print(df.head().to_csv(sep=‘\t’, na_rep=‘nan’))
else:
print(‘数据全部内容信息:’)
print(df.to_csv(sep=‘\t’, na_rep=‘nan’))
写入 Excel 文件
python
import pandas as pd
创建示例数据
data = {
‘Name’: [‘Alice’, ‘Bob’, ‘Charlie’],
‘Age’: [25, 30, 35],
‘City’: [‘New York’, ‘London’, ‘Paris’]
}
df = pd.DataFrame(data)
写入 Excel 文件
df.to_excel(‘output.xlsx’, index=False, sheet_name=‘Sheet1’)
2. 使用openpyxl库
openpyxl 是一个专门用于读写 .xlsx 格式 Excel 文件的库,适合处理复杂的 Excel 操作,如设置单元格格式、合并单元格等。
安装
bash
pip install openpyxl
读取 Excel 文件
python
from openpyxl import load_workbook
加载 Excel 文件
workbook = load_workbook(‘example.xlsx’)
获取指定工作表
sheet = workbook[‘Sheet1’]
遍历行
for row in sheet.iter_rows(values_only=True):
print(row)
写入 Excel 文件
python
from openpyxl import Workbook
创建一个新的工作簿
workbook = Workbook()
获取默认的工作表
sheet = workbook.active
写入数据
data = [
[‘Name’, ‘Age’, ‘City’],
[‘Alice’, 25, ‘New York’],
[‘Bob’, 30, ‘London’],
[‘Charlie’, 35, ‘Paris’]
]
for row in data:
sheet.append(row)
保存工作簿
workbook.save(‘output_openpyxl.xlsx’)
3. 使用xlrd和xlwt库
xlrd 用于读取 .xls 格式的 Excel 文件,xlwt 用于写入 .xls 格式的 Excel 文件。不过,这两个库对 .xlsx 格式支持有限。
安装
bash
pip install xlrd xlwt
读取 Excel 文件
python
import xlrd
打开 Excel 文件
workbook = xlrd.open_workbook(‘example.xls’)
获取指定工作表
sheet = workbook.sheet_by_name(‘Sheet1’)
遍历行
for row_index in range(sheet.nrows):
row = sheet.row_values(row_index)
print(row)
写入 Excel 文件
python
import xlwt
创建一个新的工作簿
workbook = xlwt.Workbook()
创建一个工作表
sheet = workbook.add_sheet(‘Sheet1’)
写入数据
data = [
[‘Name’, ‘Age’, ‘City’],
[‘Alice’, 25, ‘New York’],
[‘Bob’, 30, ‘London’],
[‘Charlie’, 35, ‘Paris’]
]
for row_index, row in enumerate(data):
for col_index, value in enumerate(row):
sheet.write(row_index, col_index, value)
保存工作簿
workbook.save(‘output_xlwt.xls’)
这些库各有优缺点,可以根据具体需求选择合适的库来操作 Excel 文件。