python读取excel的指定数据,然后写入指定行列
时间: 2023-10-26 10:32:12 浏览: 54
可以使用Python中的pandas和openpyxl库来读取和写入Excel文件。下面是一个示例代码,假设要读取“Sheet1”中的第2行第3列的数据,然后写入第4行第5列。
```python
import pandas as pd
from openpyxl import load_workbook
# 读取Excel文件
excel_file = pd.ExcelFile('example.xlsx')
df = pd.read_excel(excel_file, 'Sheet1')
# 获取要写入的值
value = df.iloc[1, 2]
# 打开Excel文件,定位到Sheet1
book = load_workbook('example.xlsx')
writer = pd.ExcelWriter('example.xlsx', engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
ws = writer.sheets['Sheet1']
# 写入值到指定行列
ws.cell(row=4, column=5, value=value)
# 保存Excel文件
writer.save()
```
需要注意的是,这个代码假设Excel文件中已经存在一个名为“Sheet1”的工作表,并且要写入的单元格没有被合并。如果需要处理更复杂的情况,需要更多的代码。
相关问题
python读取excel的指定数据写入指定行列
要在Python中读取Excel的指定数据并将其写入指定行列,您可以使用openpyxl库。以下是一个示例代码,它将从Excel文件中选择一些数据,然后将它们写入指定行和列:
```python
import openpyxl
# 打开Excel文件
workbook = openpyxl.load_workbook('example.xlsx')
# 选择要读取的表单
worksheet = workbook['Sheet1']
# 选择要读取的单元格范围
cell_range = worksheet['A1':'C3']
# 从选择的单元格范围中提取数据
data = []
for row in cell_range:
for cell in row:
data.append(cell.value)
# 选择要写入的表单
worksheet_to_write = workbook['Sheet2']
# 将数据写入指定的单元格
row_num = 2
column_num = 3
for value in data:
worksheet_to_write.cell(row=row_num, column=column_num).value = value
column_num += 1
if column_num > 5:
row_num += 1
column_num = 3
# 保存更改并关闭文件
workbook.save('example.xlsx')
```
在这个例子中,我们打开了名为"example.xlsx"的Excel文件并选择了名为"Sheet1"的工作表。然后,我们选择了单元格范围"A1:C3",并从这个范围中提取数据。接下来,我们选择了要将数据写入的工作表"Sheet2",并将数据按行和列写入该工作表。在这个例子中,我们将数据写入第2行,第3列到第2行,第5列的单元格。最后,我们保存了更改并关闭了文件。
python 读取excel文件数据指定行列,并写入新excel文件
可以使用 `openpyxl` 库来读取和写入 Excel 文件。下面是一个简单的示例代码来读取指定行列并写入到新的 Excel 文件中:
```python
import openpyxl
# 打开原始 Excel 文件
wb = openpyxl.load_workbook('input.xlsx')
# 选择要读取的工作表,这里选择第一个工作表
ws = wb.worksheets[0]
# 读取第2行到第4行,第3列到第5列的单元格数据
data = []
for row in range(2, 5):
row_data = []
for col in range(3, 6):
value = ws.cell(row=row, column=col).value
row_data.append(value)
data.append(row_data)
# 创建新的 Excel 文件并写入数据
wb_new = openpyxl.Workbook()
ws_new = wb_new.active
# 写入数据到新的工作表
for row_idx, row_data in enumerate(data, start=1):
for col_idx, value in enumerate(row_data, start=1):
ws_new.cell(row=row_idx, column=col_idx, value=value)
# 保存新的 Excel 文件
wb_new.save('output.xlsx')
```
在上面的示例代码中,我们首先使用 `load_workbook` 函数打开原始 Excel 文件,并选择要读取的工作表。然后使用两个 `for` 循环来读取指定行列的单元格数据,将其保存到 `data` 列表中。
接着,我们创建一个新的 Excel 文件并获取其默认的工作表。然后使用两个 `for` 循环来写入 `data` 列表中的数据到新的工作表中。最后,我们使用 `save` 函数将新的 Excel 文件保存到指定位置。