Python openpyxl提取EXCEL指定位置数据写入新文件
时间: 2024-10-27 18:09:05 浏览: 167
在Python中,你可以使用openpyxl库来读取Excel文件并提取特定位置的数据,然后再将这些数据写入到新的Excel文件中。openpyxl是一个用于处理Microsoft Excel 2010 xlsx/xlsm/xltx/xltm文件的强大库。
首先,你需要安装openpyxl,可以使用pip安装:
```bash
pip install openpyxl
```
然后,下面是一个简单的例子,展示如何从指定单元格读取数据并写入新文件:
```python
from openpyxl import load_workbook
# 加载原文件
source_wb = load_workbook('input.xlsx')
source_ws = source_wb['Sheet1'] # 假设你要操作的是Sheet1
# 提取数据,例如从A1单元格开始
data_cell = source_ws.cell(row=1, column=1).value
# 创建一个新的工作簿和工作表
new_wb = load_workbook()
new_ws = new_wb.active
# 写入新数据到新的工作表的A1单元格
new_ws['A1'] = data_cell
# 保存新文件
new_wb.save('output.xlsx')
```
在这个示例中,假设你想提取第一行第一列的数据,然后将其写入名为"output.xlsx"的新文件的第一行第一列。
相关问题
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部分内容 写入新表
Python是一种强大的编程语言,可以使用它来批量提取Excel表格中的部分内容,并将其写入新表格中。要实现这个功能,需要使用Python中的pandas库来读取和操作Excel文件,同时还需要使用openpyxl库来创建新的Excel表格。
首先,我们需要导入pandas和openpyxl库:
import pandas as pd
from openpyxl import Workbook
接下来,我们需要读取原始Excel表格。假设原始表格的文件名为”original.xlsx”,它包含两列数据:姓名和年龄。我们可以使用pandas的read_excel方法读取这个表格:
df = pd.read_excel('original.xlsx')
我们可以通过以下方式来筛选出某些特定的行或列:
# 筛选出名字包含“Jim”的所有行
jim_rows = df.loc[df['姓名'].str.contains('Jim')]
# 只保留名字和年龄这两列
selected_cols = jim_rows[['姓名', '年龄']]
接下来,我们需要将所选的行和列写入新的Excel表格。我们可以使用openpyxl库来创建一个新的工作簿,并在其中创建一个新的工作表:
wb = Workbook()
ws = wb.active
接下来,我们可以将所选的行和列逐行写入新的工作表中:
# 将列名写入新表格的第一行
ws.append(list(selected_cols.columns))
# 将数据逐行写入新表格
for index, row in selected_cols.iterrows():
ws.append(list(row))
最后,我们可以使用openpyxl库来保存新的Excel表格:
wb.save('selected_data.xlsx')
这样,我们就可以通过Python批量提取Excel表格中的部分内容并将其写入新表格了。
阅读全文