from openpyxl import Workbook wb = Workbook() list=[X_test, y_pred] wb4 = wb.create_sheet(list,index=0) wb.save(filename=r'D:\预测结果.xlsx')
时间: 2024-01-22 18:17:42 浏览: 126
这段代码的作用是使用 openpyxl 库创建一个 Excel 文件,将 X_test 和 y_pred 两个列表放在一个名为“Sheet1”的工作表中,并将该工作表插入到工作簿的第一个位置。最后将工作簿保存至本地文件路径 “D:\预测结果.xlsx”。
需要注意的是,列表 list=[X_test, y_pred] 在这里不需要使用,可以直接将 X_test 和 y_pred 作为参数传递给 create_sheet() 方法:
```python
from openpyxl import Workbook
# 创建工作簿
wb = Workbook()
# 在第一个位置创建一个名为“Sheet1”的工作表,将 X_test 和 y_pred 列表填充到工作表中
ws = wb.create_sheet('Sheet1', 0)
for row in zip(X_test, y_pred):
ws.append(row)
# 保存工作簿至本地文件路径
wb.save(filename=r'D:\预测结果.xlsx')
```
这样代码会更简洁易读。
相关问题
wb1 = openpyxl.load_workbook(source_file) ws1 = wb1.active wb2 = openpyxl.load_workbook(target_file) wb2_oldsheetname = wb2.sheetnames target_ws_name = 'sd' + source_file[-6] wb2.active.title = target_ws_name ws2 = wb2.active python修改sheet名后为target_ws_name,如何更新表格里包含图表的引用数据源中数据系列涉及到的sheet名,更新并输出代码
可以使用`openpyxl.chart.Reference`对象中的`series`属性来获取数据系列涉及到的sheet名,然后使用字符串的`replace()`方法进行替换。
以下是示例代码:
```python
import openpyxl
from openpyxl.chart import Reference
# 加载工作簿
wb1 = openpyxl.load_workbook(source_file)
ws1 = wb1.active
wb2 = openpyxl.load_workbook(target_file)
wb2_oldsheetname = wb2.sheetnames
target_ws_name = 'sd' + source_file[-6]
wb2.active.title = target_ws_name
ws2 = wb2.active
# 更新数据系列涉及到的sheet名
for chart in ws2.charts:
for series in chart.series:
# 获取数据系列涉及到的sheet名
sheetname = series.values.series[0].split('!')[0].replace("'", "")
# 替换为新的sheet名
series.values.series[0] = series.values.series[0].replace(sheetname, target_ws_name)
# 保存工作簿
wb2.save(target_file)
```
注意:上述代码仅适用于单个sheet中包含一个或多个图表的情况。如果在一个工作簿中有多个sheet,每个sheet中都包含一个或多个图表,那么需要对每个sheet进行遍历并更新其中的图表。
import os import pandas as pd from openpyxl import Workbook folder_path = r'D:/拆分后的工作簿' new_path = r'D:\拆分后的工作簿\新增資料夾\workbook.xlsx' files = os.listdir(folder_path) wb = Workbook() for file in files: if file.endswith('.xlsx'): file_path = os.path.join(folder_path, file) sheet_name = os.path.splitext(file)[0] df = pd.read_excel(file_path, sheet_name=None) for sheet in df: df[sheet].to_excel(wb, sheet_name=sheet_name)
这段代码看起来没有问题,不过你最后没有保存工作簿。你需要将以下代码添加到末尾:
```python
wb.save(new_path)
```
这将工作簿保存到指定的路径下。完整代码如下:
```python
import os
import pandas as pd
from openpyxl import Workbook
folder_path = r'D:/拆分后的工作簿'
new_path = r'D:\拆分后的工作簿\新增資料夾\workbook.xlsx'
files = os.listdir(folder_path)
wb = Workbook()
for file in files:
if file.endswith('.xlsx'):
file_path = os.path.join(folder_path, file)
sheet_name = os.path.splitext(file)[0]
df = pd.read_excel(file_path, sheet_name=None)
for sheet in df:
df[sheet].to_excel(wb, sheet_name=sheet_name)
wb.save(new_path)
```
希望这次能够帮到你!
阅读全文