openpyxl如何复制一个工作表的数据到新的工作簿中的工作表
时间: 2023-08-31 15:09:33 浏览: 45
可以使用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循环将源工作表中的数据复制到新的工作表中,最后保存目标工作簿。
相关问题
pandas 如何读取openpyxl导入的工作簿中工作表的数据
可以使用 pandas 的 `read_excel()` 函数来读取 openpyxl 导入的工作簿中工作表的数据。具体步骤如下:
1. 导入 openpyxl 和 pandas 模块:
```python
import openpyxl
import pandas as pd
```
2. 使用 openpyxl 打开 Excel 文件并读取工作表:
```python
wb = openpyxl.load_workbook('example.xlsx')
sheet = wb['Sheet1'] # 读取名为 Sheet1 的工作表
```
3. 使用 pandas 的 `read_excel()` 函数读取工作表的数据:
```python
df = pd.read_excel('example.xlsx', sheet_name='Sheet1')
```
或者直接将 openpyxl 中读取到的工作表对象传给 `read_excel()` 函数:
```python
df = pd.read_excel(sheet)
```
以上两种方式读取的数据都存储在 pandas 的 DataFrame 对象中,可以对其进行各种数据分析和处理。
openpyxl如何向工作表写入数据
要向工作表写入数据,可以使用 openpyxl 库中的 `Worksheet` 对象的 `cell` 方法,例如:
```python
from openpyxl import Workbook
# 创建工作簿和工作表
wb = Workbook()
ws = wb.active
# 写入数据到单元格
ws['A1'] = 'Hello'
ws['B1'] = 'World'
# 保存工作簿
wb.save('example.xlsx')
```
这个例子创建了一个名为 "example.xlsx" 的 Excel 文件,并向其写入了 "Hello" 和 "World" 两个单元格的数据。注意,必须在写入数据后保存工作簿才能将更改保存到文件中。