python有4个dataframe:U15,U25,U35,U45,将它们输出在指定路径D盘下的一个excel里的不同sheet里,sheet名为15、25、35、45,并命名这个excel为SOXtable,表格内字体为Arial,表格内所有框线为实线
时间: 2024-02-21 10:01:48 浏览: 126
可以使用 `pandas` 库中的 `ExcelWriter` 类来将这四个 `dataframe` 分别输出到一个 `excel` 文件里的不同 `sheet` 中,并且使用 `xlsxwriter` 来设置表格区域的字体和实线。
下面是一个示例代码:
```python
import pandas as pd
# 生成示例 dataframe
U15 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
U25 = pd.DataFrame({'A': [7, 8, 9], 'B': [10, 11, 12]})
U35 = pd.DataFrame({'A': [13, 14, 15], 'B': [16, 17, 18]})
U45 = pd.DataFrame({'A': [19, 20, 21], 'B': [22, 23, 24]})
# 定义输出路径和文件名
output_path = 'D:/'
output_file = 'SOXtable.xlsx'
# 创建 ExcelWriter 对象
writer = pd.ExcelWriter(output_path + output_file, engine='xlsxwriter', options={'sheet_format': {'border': 1, 'border_style': 'solid'}})
# 将 U15 输出到 Sheet1 中
U15.to_excel(writer, sheet_name='15', index=False, startrow=0, startcol=0)
# 将 U25 输出到 Sheet2 中
U25.to_excel(writer, sheet_name='25', index=False, startrow=0, startcol=0)
# 将 U35 输出到 Sheet3 中
U35.to_excel(writer, sheet_name='35', index=False, startrow=0, startcol=0)
# 将 U45 输出到 Sheet4 中
U45.to_excel(writer, sheet_name='45', index=False, startrow=0, startcol=0)
# 获取 xlsxwriter 中的 workbook 和 worksheet 对象
workbook = writer.book
for sheet_name in ['15', '25', '35', '45']:
worksheet = writer.sheets[sheet_name]
worksheet.set_column('A:B', None, None, {'font_name': 'Arial'})
# 保存 Excel 文件
writer.save()
```
在上面的代码中,我们首先使用 `pandas` 创建了四个 `dataframe`,然后定义了输出的路径和文件名。接着,我们使用 `ExcelWriter` 类创建了一个 `writer` 对象,并设置了 `xlsxwriter` 的参数 `options`,将表格区域内的边框设置为实线。然后,我们使用 `to_excel` 方法将四个 `dataframe` 分别输出到不同的 `sheet` 中,并指定了 `startrow` 和 `startcol` 参数来确定输出的起始行和列。接下来,我们使用 `writer.book` 和 `writer.sheets` 获取 workbook 和 worksheet 对象,并使用 `set_column` 方法来设置表格区域内的字体。最后,我们调用 `writer.save` 方法将修改后的 `excel` 文件保存到磁盘中。
阅读全文