我希望有人能提供一點幫助。我試圖從一個Excel工作簿,名爲停機提取數據,並創建「規範」相匹配的是線圈經歷線圈(產品)的數字的字典。我已經能夠完成這部分,它非常簡單。創建從一個Excel工作簿一本字典,鍵與另一個工作簿匹配,粘貼值
即跳閘我的一部分,是如何匹配使用不同的Excel工作簿的線圈數量,並在相應的「代碼」粘貼。
所以這是我到目前爲止有:
import openpyxl
from collections import defaultdict
DT = openpyxl.load_workbook('DownTime.xlsm')
bl2 = DT.get_sheet_by_name('BL2')
CS = openpyxl.load_workbook('CoilSummary.xlsm')
line = CS.get_sheet_by_name('BL2')
#opening needed workbooks with specific worksheets
coil =[]
rc = []
code = defaultdict(set)
cnum = ''
next_row = 2
col = 32
for row in range(2, bl2.max_row + 1):
coil = bl2['K' + str(row)].value
rc = bl2['D' + str(row)].value
code[coil].add(rc)
# Creating a dictionary that represents each coil with corresponding codes
for key,value in code.items():
cnum = line['B' + str(row)].value
if cnum == key:
line.write(next_row, col, value)
next_row+=1
# Attempting to match coil numbers with dictionary and column B
# if the key is present, paste the value in column AF
CS.close()
DT.close()
字典的樣本輸出如下:
('M30434269': {106, 107, 173}, 'M30434270': {132, 424, 106, 173, 188}, 'M30434271': {194, 426, 202, 106, 173}})
只有有22,000項。
因此,要重申我想要完成的任務:
我想利用這個字典,我從工作簿中的停機時間做,在CoilSummary列匹配的鑰匙,如果鍵進入細胞匹配,糊將值存入表格末尾的空白單元格中。
實施例:
"CoilNum" "Date" "Shift" "info1" "info2" "Code"
M30322386 03/03/2017 06:48:30 3 1052 1722 ' '
M30322390 03/03/2017 05:18:26 3 703 1662 ' '
我想與在字典中的項匹配「CoilNum」,並將值粘貼到「代碼」。
我希望我解釋說不夠好。非常感謝您對代碼的任何幫助,或指向網站以供參考。我只是不想手動輸入所有這些代碼!
謝謝!