用openpyxl写入字典值到指定表格中的指定列
时间: 2023-05-22 15:03:48 浏览: 156
可以通过如下代码实现:
```python
import openpyxl
# 打开Excel文件
wb = openpyxl.load_workbook('example.xlsx')
# 选择指定的工作表
sheet = wb['Sheet1']
# 定义要写入的字典
my_dict = {'name': '张三', 'age': 20, 'gender': 'male'}
# 写入表格中指定列的每一行
for i, key in enumerate(my_dict.keys()):
sheet.cell(row=i+1, column=1, value=key)
sheet.cell(row=i+1, column=2, value=my_dict[key])
# 保存写入后的Excel文件
wb.save('example.xlsx')
```
本回答完毕,有什么其它问题可以再问我哦!
相关问题
用openpyxl写入已有表格用openpyxl一次批量修改已有表格多个单元格指定
单元格的值,你可以使用下面的代码:
```python
import openpyxl
# 打开Excel文件
workbook = openpyxl.load_workbook('example.xlsx')
# 选择要操作的工作表
worksheet = workbook['Sheet1']
# 批量修改单元格的值
worksheet['A1'] = 'New Value 1'
worksheet['C3'] = 'New Value 2'
worksheet['D4'] = 'New Value 3'
# 保存修改后的Excel文件
workbook.save('example.xlsx')
```
这段代码会打开名为 example.xlsx 的Excel文件,并在其中的 Sheet1 工作表中批量修改指定单元格的值,最终保存修改后的Excel文件。请注意,修改单元格的方式使用了类似于字典的方式,通过指定单元格的名称来访问该单元格,修改单元格的值。
openpyxl怎么批量从字典中写入各个子表格
在使用Python库openpyxl操作Excel文件时,如果你想从一个字典批量写入到工作簿的不同子表(即工作表),可以按照以下步骤进行:
1. 首先,导入openpyxl模块以及可能需要的pandas库(如果你的字典是从pandas DataFrame转换过来的)。
```python
import pandas as pd
from openpyxl import load_workbook, Workbook
```
2. 加载现有的工作簿,或者创建一个新的Workbook对象。
```python
# 加载现有工作簿
workbook = load_workbook('your_file.xlsx')
# 或者新建一个工作簿
workbook = Workbook()
```
3. 获取你想要写的子工作表。你可以通过索引来访问,例如`workbook['Sheet1']`。
4. 将字典转换为DataFrame,因为openpyxl直接处理DataFrame更为方便。
```python
if 'data_dict' in locals(): # 假设你有一个名为data_dict的字典
df = pd.DataFrame.from_dict(data_dict)
```
5. 然后遍历字典,将每个子字典的数据写入相应的子表。
```python
for sheet_name, data in data_dict.items():
ws = workbook[sheet_name] # 获取当前工作表
df.to_excel(ws, index=False) # 写入数据,index=False表示不写入行索引
```
6. 最后保存修改。
```python
workbook.save('your_file.xlsx') # 如果是加载的文件,替换为'data_dict.xlsx'
```
注意:这里假设`data_dict`的键是工作表名,值是对应的子字典,如果不是这种情况,你需要调整代码逻辑以匹配实际的字典结构。
阅读全文