python dataframe输出到exlce后 自动添加框线
时间: 2023-07-06 09:16:44 浏览: 115
python自动办公-23 一键将word中的表格提取到excel文件中
5星 · 资源好评率100%
你好,要在 Python 中使用 Pandas 将 DataFrame 输出到 Excel 并添加框线,可以使用 Pandas 的 `Styler` 类和 `openpyxl` 库。
首先,使用 Pandas 将 DataFrame 导出到 Excel,可以使用以下代码:
```python
import pandas as pd
# 创建一个 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 将 DataFrame 导出到 Excel
with pd.ExcelWriter('output.xlsx') as writer:
df.to_excel(writer, index=False, sheet_name='Sheet1')
```
接下来,使用 `openpyxl` 库打开 Excel 文件,并使用 `Styler` 类为每个单元格设置边框。以下是完整的代码:
```python
import pandas as pd
from openpyxl import load_workbook
from openpyxl.styles.borders import Border, Side
# 创建一个 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 将 DataFrame 导出到 Excel
with pd.ExcelWriter('output.xlsx') as writer:
df.to_excel(writer, index=False, sheet_name='Sheet1')
# 打开 Excel 文件
book = load_workbook('output.xlsx')
writer = pd.ExcelWriter('output.xlsx', engine='openpyxl')
writer.book = book
# 获取 Sheet1 工作表
ws = book['Sheet1']
# 定义边框样式
thin_border = Border(left=Side(style='thin'),
right=Side(style='thin'),
top=Side(style='thin'),
bottom=Side(style='thin'))
# 使用 Styler 类为每个单元格设置边框
df_styler = df.style.applymap(lambda x: {'border': thin_border})
df_styler.to_excel(writer, index=False, sheet_name='Sheet1')
# 保存 Excel 文件
writer.save()
```
这段代码首先打开 Excel 文件,然后获取名为 Sheet1 的工作表。接下来,定义了一个 `thin_border` 变量来表示边框的样式。然后,使用 Pandas 的 `Styler` 类和 `applymap` 方法为 DataFrame 的每个单元格设置边框样式。最后,将 DataFrame 导出到 Excel 文件,并保存文件。
希望这个代码可以帮助到你!
阅读全文