pandas操作Excel
时间: 2025-05-31 12:03:55 浏览: 19
### 如何使用 Pandas 进行 Excel 文件操作
#### 安装依赖库
为了能够顺利读写 Excel 文件,需先确保环境中已经安装了 `pandas` 和其他必要的包。如果尚未安装这些软件包,则可以通过 pip 工具来完成安装。
```bash
pip install pandas openpyxl xlrd
```
上述命令会自动下载并配置所需的 Python 库[^2]。
#### 读取 Excel 文件
##### 基本语法结构
要从 Excel 中加载数据到 DataFrame 对象里,可以调用 `pd.read_excel()` 函数:
```python
import pandas as pd
df = pd.read_excel('example.xlsx')
print(df.head())
```
这段代码将会把名为 "example.xlsx" 的电子表格中的第一个工作表的数据导入成一个 DataFrame 并打印前几行的内容[^1]。
##### 自定义参数设置
当面对更复杂的场景时,比如多页签的工作簿或是特定列作为索引等情况,可利用更多选项来自定义读取行为:
- **指定工作表**: 可以通过传递整数(代表第几个sheet)、字符串(对应sheet名称),或者是列表/字典形式来指明具体要读哪个或哪些 sheet。
```python
df_sheet_1 = pd.read_excel('example.xlsx', sheet_name=0) # 第一张表
df_named_sheet = pd.read_excel('example.xlsx', sheet_name='SheetName') # 名称为'SheetName'的表
```
- **跳过某些行**: 如果存在标题栏或其他不需要的信息位于文件顶部,可以用 `skiprows` 参数忽略它们;同样地,对于底部无意义的数据也可以借助 `skipfooter` 来排除。
```python
df_skipped_rows = pd.read_excel('example.xlsx', skiprows=[0, 1], skipfooter=2)
```
- **设定数据类型**: 若希望强制转换某列的数据格式,在创建 DataFrame 后再做更改可能会比较麻烦,因此可以在一开始就声明每列对应的 dtype 类型。
```python
custom_dtypes = {'ColumnA': str, 'ColumnB': float}
df_with_types = pd.read_excel('example.xlsx', dtype=custom_dtypes)
```
以上仅列举了一些常用的功能点,实际上还有许多其他的细粒度控制可供探索[^4]。
#### 写入 Excel 文件
一旦完成了数据分析或者修改之后,就可以很方便地保存回新的 Excel 文件中去。这里介绍两种主要的方式 —— 单独保存整个 DataFrame 或者分批次追加记录至现有文档内。
##### 整体导出为新文件
最简单的方法就是直接调用 `.to_excel()` 方法,并传入目标路径以及额外的一些格式化指示符:
```python
data_to_save = {
'姓名': ['张三', '李四'],
'成绩': [95, 87],
}
df_new_data = pd.DataFrame(data_to_save)
# 将DataFrame对象存入Excel文件中,不带默认索引
df_new_data.to_excel('output.xlsx', index=False)
```
此段脚本会在当前目录下生成一个新的叫做 output.xlsx 的文件,其中包含了由给定字典构建出来的两行学生信息[^3]。
##### 多次更新同一文件的不同 Sheet
有时可能需要在一个现有的 Excel 文件里面增加多个独立的工作表,这时就需要配合 `ExcelWriter` 上下文管理器一起用了:
```python
with pd.ExcelWriter('multi_sheets_output.xlsx') as writer:
df_students.to_excel(writer, sheet_name="Students", index=False)
df_courses.to_excel(writer, sheet_name="Courses", index=False)
```
这种方式允许在同一份 Excel 文档内部按顺序依次添加不同的 DataFrames 到各自的 sheets 当中。
阅读全文
相关推荐


















