使用openpyxl和pandas操作Excel:openpyxl适合精细格式控制,pandas擅长数据分析;读写大型文件时可采用只读/只写模式或分块处理以提升性能。

Python操作Excel文件,简单来说,就是用代码读写Excel表格。两种常用的库是
openpyxl
pandas
openpyxl
pandas
解决方案
使用openpyxl
安装:
pip install openpyxl
立即学习“Python免费学习笔记(深入)”;
读取:
from openpyxl import load_workbook
# 加载工作簿
workbook = load_workbook(filename="example.xlsx")
# 选择工作表
sheet = workbook["Sheet1"] # 或者 workbook.active 获取活动工作表
# 读取单元格数据
cell_value = sheet["A1"].value
print(cell_value)
# 循环读取行
for row in sheet.iter_rows(min_row=2, max_row=5, min_col=1, max_col=3):
for cell in row:
print(cell.value)iter_rows
openpyxl
写入:
from openpyxl import Workbook # 创建一个新的工作簿 workbook = Workbook() # 选择工作表 sheet = workbook.active # 写入单元格数据 sheet["A1"] = "Hello" sheet["B2"] = 123 # 保存工作簿 workbook.save(filename="new_example.xlsx")
写入数据非常直接,直接赋值即可。 创建新的工作簿也很简单。
格式设置:
openpyxl
使用pandas
安装:
pip install pandas
读取:
import pandas as pd
# 读取Excel文件
df = pd.read_excel("example.xlsx", sheet_name="Sheet1")
# 打印DataFrame
print(df)
# 获取特定列
column_data = df["Column1"]
print(column_data)read_excel
写入:
import pandas as pd
# 创建一个DataFrame
data = {"Name": ["Alice", "Bob", "Charlie"], "Age": [25, 30, 28]}
df = pd.DataFrame(data)
# 写入Excel文件
df.to_excel("new_example.xlsx", sheet_name="Sheet1", index=False)to_excel
index=False
pandas
openpyxl
pandas
选择哪个库取决于你的具体需求。 如果你需要精细控制Excel的格式,或者处理一些特殊的需求,比如合并单元格、插入图片等,那么
openpyxl
pandas
pandas
如何处理Excel中的日期格式?
在用
openpyxl
from openpyxl import load_workbook
from datetime import datetime
workbook = load_workbook(filename="example_with_dates.xlsx")
sheet = workbook.active
date_value = sheet["A1"].value
if isinstance(date_value, datetime):
print(date_value.strftime("%Y-%m-%d")) # 格式化日期
else:
print(date_value)用
pandas
parse_dates
import pandas as pd
df = pd.read_excel("example_with_dates.xlsx", parse_dates=["DateColumn"]) # DateColumn 是包含日期的列名
print(df["DateColumn"].dtype) # 确认是否为datetime64[ns]如何优化Excel文件读写速度?
对于大型Excel文件,读写速度是一个需要考虑的问题。
openpyxl
read_only
write_only
read_only
write_only
from openpyxl import load_workbook
# 只读模式
workbook = load_workbook(filename="large_file.xlsx", read_only=True)
sheet = workbook.active
for row in sheet.rows:
for cell in row:
print(cell.value)
# 只写模式
from openpyxl import Workbook
workbook = Workbook(write_only=True)
sheet = workbook.create_sheet()
for i in range(1000):
row = [i] * 10
sheet.append(row)
workbook.save("large_file_write_only.xlsx")pandas
chunksize
import pandas as pd
for chunk in pd.read_excel("large_file.xlsx", chunksize=1000):
print(chunk.head()) # 处理每一块数据另外,尽量避免在循环中频繁地读写单元格,可以将数据先存储到内存中,然后一次性写入Excel文件。
以上就是python中如何操作Excel文件_Python使用openpyxl/pandas操作Excel的详细内容,更多请关注php中文网其它相关文章!
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号