早上好。
我有两个Excel工作簿。第一个有我的源数据,第二个我想将源数据粘贴到其中。
我的代码在第一个工作簿中搜索具有今天日期的特定单元格,找到我需要与其关联的数据单元格,然后尝试将该范围的数据粘贴到第二个工作簿中。
该代码当前可以迭代第一个工作簿并找到正确的数据,但是当我尝试将数据粘贴到第二个工作簿中时就出现了问题。
例如,如果找到的数据来自A40:C40,它将粘贴到同一位置的第二个工作簿中(A40:C40)。我需要代码来迭代第二个工作簿,并根据另一个单元格值找到粘贴数据的正确位置。
为清楚起见,副本和粘贴的位置每天都在变化。我无法使用固定单元格引用。
from openpyxl import Workbook
import openpyxl
import datetime
wb = openpyxl.load_workbook('Online Log.xlsx')
wb1 = openpyxl.load_workbook('Blank.xlsx')
sheet = wb['Weather']
sheet1 = wb1['Sheet2']
# Find yesterday in date format
today = datetime.date.today()
yesterday = str(today - datetime.timedelta(days=1))
# Find position of midnight position on today's DPR
for row in sheet.iter_rows():
for cell in row:
if str(cell.value) == (str(today) + ' 00:00:00'):
Start_Coord = sheet.cell(row=cell.row, column=3).coordinate
End_Coord = sheet.cell(row=cell.row + 3, column=9).coordinate
for row in sheet[Start_Coord:End_Coord]:
for cell in row:
sheet1[cell.coordinate].value = cell.value
wb1.save('file2.xlsx')
我尝试合并以下代码以搜索要粘贴到第二个工作簿中的相关位置,但这也不起作用。
for rows in sheet1.iter_rows():
for cell in rows:
if str(cell.value) == 'Paste Cell Below':
Start_Coord_2 = sheet1.cell(row=cell.row, column=3).coordinate
End_Coord_2 = sheet1.cell(row=cell.row + 3, column=9).coordinate
for rows in sheet1[Start_Coord_2:End_Coord_2]:
for cell in rows:
sheet1[cell.coordinate].value = cell.value
print(cell.coordinate)