使用python代码 实现从excel"resource.xlsx"的"sheet1"中读取第9行以下的所有数据,再对读取的这些数据中的每一行第一列数据去掉“银行”字符,第三列数据每个去掉“重庆”字符,最后从另一个excel"result.xlsm"中的"sheet2"的第10行开始,保留sheet2的格式写入这些数据,
时间: 2024-02-18 16:00:19 浏览: 120
好的,可以使用Python中的pandas和openpyxl库来实现这个任务。以下是代码实现:
``` python
import pandas as pd
from openpyxl import load_workbook
# 读取resource.xlsx中的sheet1数据
df = pd.read_excel('resource.xlsx', sheet_name='sheet1', header=8)
# 去掉第一列“银行”字符
df.iloc[:, 0] = df.iloc[:, 0].str.replace('银行', '')
# 去掉第三列“重庆”字符
df.iloc[:, 2] = df.iloc[:, 2].str.replace('重庆', '')
# 读取result.xlsm中的sheet2数据
book = load_workbook('result.xlsm')
writer = pd.ExcelWriter('result.xlsm', engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
df.to_excel(writer, sheet_name='sheet2', startrow=9, header=False, index=False)
writer.save()
```
代码解释:
1. 首先使用pandas库中的read_excel方法读取resource.xlsx中的sheet1数据,header=8表示从第9行开始读取数据。
2. 使用str.replace方法去掉第一列和第三列中的特定字符。
3. 使用openpyxl库中的load_workbook方法读取result.xlsm文件,再使用pd.ExcelWriter方法将数据写入到sheet2中,并保留原有格式。startrow=9表示从第10行开始写入数据,header=False表示不写入列标题,index=False表示不写入行索引。
4. 最后使用writer.save方法保存修改后的result.xlsm文件。
阅读全文