Я пытаюсь написать код, который может просматривать ячейки в одной электронной таблице Excel (first_sheet), чтобы найти слова, совпадающие со словами в словаре (second_sheet). Если есть совпадение, я хочу скопировать и вставить эту ячейку в третью электронную таблицу (вывод). У меня проблемы с копированием и вставкой части моего кода. Кто-нибудь может взглянуть + предоставить отзыв?
Я написал код, который может распознавать слова в словаре, но код, который я написал для копирования + вставки в выходную электронную таблицу, кажется, не работает. Я не получаю сообщения об ошибках. Выходная таблица просто пуста. Я провел три дня, просматривая свой код, чтобы увидеть, что пошло не так, но я все еще не могу решить проблему. Любой берущий?
# create dictionary of words to search for
Dict = {}
for row in range(1, dictionary.max_row+1):
for col in range(1, 2):
cell_value = dictionary.cell(row=row, column=col).value
Dict[cell_value] = dictionary.cell(row=row, column=1).value
print (dictionary.cell(row=row, column=col).value)
global newRow
newRow = 1
# Search through worksheet with items from dictionary. If dictionary item is found, copy and paste row to separate sheet.
for row in range(1, data.max_row + 1):
for col in range(1, 2):
cell_value = data.cell(row=row, column=col).value
if cell_value in Dict:
print (data.cell(row=row, column=col).value)
# Copy range of cells as a list
# Takes: start cell, end cell, and sheet you want to copy from.
def copyRange(selectRow, selectColumn, data):
rangeSelected = []
rangeSelected.append(cell_value)
print("copy works")
return rangeSelected
# Paste range
# Paste data from copyRange into template sheet
def pasteRange(pasteRow, pasteColumn, output, copiedData):
global newRow
countRow = 0
countColumn = 0
output.cell(row= newRow, column=1).value = copiedData[countRow][countColumn]
newRow += 1
print("paste works")
def createData():
global newRow
print("Processing...")
selectedRange = copyRange(row, 1, data) #Change the 4 number values
print("range")
pasteRange(newRow, 1, output, selectedRange)
#Change the 4 number values
#You can save the template as another file to create a new file here too
print ("Copy and pasted.")
createData()
wb.save('campaigns_practicefile.xlsx')
print ("save works")