python将dict写入excel,并且单元格自适应大小
时间: 2024-09-14 12:15:49 浏览: 83
python3:excel操作之读取数据并返回字典 + 写入的案例
在Python中,我们可以使用pandas库方便地操作数据并将其写入Excel文件,包括处理字典数据。Pandas提供了一个名为`to_excel`的方法,用于将DataFrame对象保存到Excel文件。如果你有一个字典列表,可以先转换成DataFrame,然后写入。
假设你有如下字典列表:
```python
data = [
{'Name': 'Alice', 'Age': 25},
{'Name': 'Bob', 'Age': 30},
{'Name': 'Charlie', 'Age': 35}
]
```
首先,你需要安装pandas和openpyxl库,如果还没安装,可以使用pip安装:
```bash
pip install pandas openpyxl
```
接着,你可以这样做:
```python
import pandas as pd
# 将字典列表转换为DataFrame
df = pd.DataFrame(data)
# 写入Excel文件,设置`engine='openpyxl'`以支持自动调整列宽
df.to_excel('output.xlsx', index=False, engine='openpyxl')
# 使用openpyxl直接操作,让单元格自适应大小
workbook = load_workbook('output.xlsx')
sheet = workbook.active
for row in df.itertuples():
for col, value in zip(sheet.columns, row[1:]):
cell = sheet.cell(row=row.Index + 1, column=col.start)
cell.value = value
# 设置单元格宽度,这里只是一个例子,可以根据实际需要调整
cell.column_dimensions[col].width = len(str(value)) * 1.2
workbook.save('output.xlsx')
```
这段代码会创建一个Excel文件,其中每个字典的键作为列名,值填充到对应行。`openpyxl`引擎能够保持单元格内容自动调整到合适的宽度。
阅读全文