是將工作表2中所有數據,複製到新的工作簿 wb3中
时间: 2024-03-28 08:42:03 浏览: 12
如果你想将工作表2中所有数据复制到新的工作簿wb3中,可以使用以下代码:
```python
import openpyxl
# 打开原始工作簿和工作表
wb1 = openpyxl.load_workbook('原始工作簿.xlsx')
ws1 = wb1.active
# 筛选数据
today = now.strftime('%Y/%m/%d')
filtered_data = filter(lambda x: x[2].value == today, ws1.rows)
# 创建新的工作簿和工作表
wb3 = openpyxl.Workbook()
ws3 = wb3.active
# 将工作表2中的所有数据复制到新的工作簿wb3中
for row in ws2.rows:
ws3.append([cell.value for cell in row])
# 保存工作簿
wb3.save('新工作簿3.xlsx')
```
首先,使用 `now.strftime('%Y/%m/%d')` 获取当天日期,并将其赋值给变量 `today`。
然后,使用 `filter()` 函数筛选出 `ws1` 中日期为当天日期的行数据,并将结果赋值给 `filtered_data`。
接着,创建一个新的工作簿 `wb3`,获取它的活动工作表 `ws3`。
最后,使用 `for` 循环遍历工作表2中的所有行和列,将每一行中的所有单元格值复制到新工作簿wb3中,并使用 `append()` 函数将其添加到 `ws3` 中。
相关问题
是將工作表2中篩選后的所有數據,複製到新的工作簿 wb3中
如果你想将工作表2中筛选后的所有数据复制到新的工作簿wb3中,可以使用以下代码:
```python
import openpyxl
# 打开原始工作簿和工作表
wb1 = openpyxl.load_workbook('原始工作簿.xlsx')
ws1 = wb1.active
# 筛选数据
today = now.strftime('%Y/%m/%d')
filtered_data = filter(lambda x: x[2].value == today, ws1.rows)
# 创建新的工作簿和工作表
wb3 = openpyxl.Workbook()
ws3 = wb3.active
# 将工作表2中筛选后的所有数据复制到新的工作簿wb3中
for row in filtered_data:
ws3.append([cell.value for cell in row])
# 保存工作簿
wb3.save('新工作簿3.xlsx')
```
首先,使用 `now.strftime('%Y/%m/%d')` 获取当天日期,并将其赋值给变量 `today`。
然后,使用 `filter()` 函数筛选出 `ws1` 中日期为当天日期的行数据,并将结果赋值给 `filtered_data`。
接着,创建一个新的工作簿 `wb3`,获取它的活动工作表 `ws3`。
最后,使用 `for` 循环遍历筛选后的所有行和列,将每一行中的所有单元格值复制到新工作簿wb3中,并使用 `append()` 函数将其添加到 `ws3` 中。
openpyxl如何复制一个工作表的数据到新的工作簿中的工作表
可以使用openpyxl的copy_worksheet()方法来复制一个工作表到新的工作簿中的工作表中,示例代码如下:
```python
from openpyxl import load_workbook
from openpyxl.utils import get_column_letter
# 打开源工作簿
wb_source = load_workbook(filename='source.xlsx')
# 打开目标工作簿
wb_target = load_workbook(filename='target.xlsx')
# 获取源工作簿中的工作表
ws_source = wb_source['Sheet1']
# 创建新的工作表
ws_target = wb_target.create_sheet('Sheet1')
# 复制源工作表中的数据到新的工作表中
for row in ws_source:
for cell in row:
col_letter = get_column_letter(cell.column)
ws_target['{}{}'.format(col_letter, cell.row)] = cell.value
# 保存目标工作簿
wb_target.save('target.xlsx')
```
以上代码中,我们首先打开源工作簿和目标工作簿,然后获取源工作簿中的工作表,创建新的工作表,并使用for循环将源工作表中的数据复制到新的工作表中,最后保存目标工作簿。