python 不使用padas 从1.xlsx文件第二行开始读取第一列的数据,每十列拆分为一组数,每组数写入不同的以已存在的2.xsl文件为模板创建的文件的第一列,从第二行开始
时间: 2024-09-18 10:12:47 浏览: 37
在Python中,我们可以使用`openpyxl`库来操作Excel文件,而不使用pandas。首先,你需要安装这个库,如果还没安装可以使用pip install openpyxl。
下面是一个示例步骤来完成你的需求:
1. 导入库并打开第一个Excel文件:
```python
import os
from openpyxl import load_workbook
# 文件路径
file_path_1 = '1.xlsx'
workbook_1 = load_workbook(file_path_1)
sheet_1 = workbook_1.active
```
2. 确定从哪一行开始(这里假设是从第2行开始):
```python
start_row = 2
```
3. 创建模板文件列表,处理目标的2.xslx文件:
```python
template_files = ['2.xlsx', '2(1).xlsx', '2(2).xlsx', ...] # 根据需要的数量创建文件名
file_path_template = [os.path.join('templates', f) for f in template_files]
```
4. 分段读取数据并写入新文件(每10列一組),这里假设`column_width`等于10:
```python
column_width = 10
for i in range(start_row, len(sheet_1), column_width):
data_group = sheet_1.cell(row=i, column=1).value
row_number = i + 1 # 新文件从第二行开始计数
for j, file_path in enumerate(file_path_template):
# 加载模板
template_workbook = load_workbook(file_path)
template_sheet = template_workbook.active
# 写入数据到模板文件的第一列对应位置
template_sheet.cell(row=row_number, column=1).value = data_group[j]
# 保存更改
with open(file_path, "a", newline='') as excel_file:
writer = openpyxl.writer.excelwriter(excel_file)
template_workbook.save(writer)
# 关闭文件
writer.close()
```
5. 最后记得关闭第一个源文件:
```python
workbook_1.save(file_path_1)
workbook_1.close()
```
阅读全文