使用openpyxl在Excel中插入dataframe类型的值
时间: 2024-04-16 13:27:04 浏览: 163
python 操作excel 插入字段 附件案例
要在Excel中插入DataFrame类型的值,我们可以使用pandas库将DataFrame转换为一个二维列表,然后使用openpyxl将其插入到Excel中。以下是一个示例代码:
```python
import pandas as pd
from openpyxl import Workbook
# 创建一个新的工作簿
wb = Workbook()
# 选择活动的工作表
sheet = wb.active
# 创建一个示例DataFrame
df = pd.DataFrame({
"Name": ["John", "Alice", "Bob"],
"Age": [25, 30, 28]
})
# 将DataFrame转换为二维列表
data = df.values.tolist()
# 定义要插入数据的起始单元格位置
start_row = 2 # 开始行号
start_col = 2 # 开始列号
# 插入数据到指定位置
for row_index, row_data in enumerate(data):
for col_index, value in enumerate(row_data):
sheet.cell(row=start_row + row_index, column=start_col + col_index, value=value)
# 保存工作簿
wb.save("example.xlsx")
```
在示例代码中,我们首先创建了一个示例的DataFrame对象`df`。然后,使用`df.values.tolist()`将DataFrame转换为一个二维列表`data`。
接下来,我们定义了要插入数据的起始单元格位置,即`start_row`和`start_col`。然后,使用嵌套循环遍历二维列表,并使用`sheet.cell()`方法将数据逐个插入到指定的单元格中。通过将起始行号和列号与循环索引相加,我们可以计算出当前要插入数据的单元格位置。
最后,使用`wb.save()`方法保存工作簿,生成包含插入数据的Excel文件。在这个例子中,DataFrame的值将被插入到从第二行第二列开始的单元格中。
阅读全文