Python 3 openpyxl найти все строки в столбце - PullRequest
0 голосов
/ 09 сентября 2018

Я только начинаю изучать Python и ищу направление для сценария, над которым я работаю, чтобы ежедневно отправлять текстовые сообщения для моих водителей. Имя поставщика вводится в электронную таблицу вместе с номером заказа на покупку и примечаниями. То, что я хотел бы сделать, это циклически проходить по столбцу «A», найти все экземпляры имени поставщика, получить соответствующие значения ячеек B & C и сохранить всю информацию в текстовом файле. Я могу заставить его работать, если я назову строку поиска явно, но не если это переменная. Вот что у меня есть:

TestList=[]
TestDict= {}
LineNumber = 0
for i in range(1, maxrow + 1):
    VendorName = sheet.cell(row = i, column = 1)
    if VendorName.value ==  "CERTIFIED LETTERING":#here is where im lost
    #print (VendorName.coordinate)
    VendLoc = str(VendorName.coordinate)
    TestList.append(VendLoc)
    TestDict[VendorName.value]=[TestList]
    test = (TestDict["CERTIFIED LETTERING"][0])
    ListLength = (len(test))
    ListPo = []
    List_Notes = []
    number = 0
    for i in range (0, ListLength):
        PO = (str('B'+ test[number][1]))
        Note = (str('C'+ test[number][1]))
        ListPo.append(PO)
        List_Notes.append(Note)

        number = number + 1
    number = 0
    TestVend =(str(VendorName.value))
    sonnetFile = open('testsaveforpickups.txt', 'w')
    sonnetFile.write("Pick up at:" + '\n')
    sonnetFile.write(str(VendorName.value)+'\n')
    for i in range (0, ListLength):
        sonnetFile.write ("PO# "+ str(sheet[ListPo[number]].value)+'\n'
               +"NOTES: " + str(sheet[List_Notes[number]].value)+'\n')
        number = number + 1 
    sonnetFile.close()

результаты следующие:

Pick up at:
CERTIFIED LETTERING
PO# 1111111-00
NOTES: aaa
PO# 333333-00
NOTES: ccc
PO# 555555-00
NOTES: eee

Я перепробовал все, что мог придумать, чтобы изменить текущую строку «CERTIFIED LETTERING» на имя переменной, включая создание списка всех поставщиков в столбце A и использование его в качестве словаря для выхода. Буду признателен за любую помощь или идеи, чтобы указать мне правильное направление. И я прошу прощения за любые ошибки форматирования. Я новичок в размещении здесь.

...