Ввод текста из .txt в рабочую книгу - PullRequest
0 голосов
/ 17 июня 2019

Я пытаюсь написать программу, которая будет брать текст из .txt и вводить его в ячейки рабочей книги. Я сталкиваюсь с проблемой, хотя, где, когда я пытаюсь за цикл через клетки, и он не работает.

Файл загружается нормально, как и книга Excel. Проблема возникает при попытке перебрать строки. Я скопировал код из учебника, который я делал ранее, где они делали похожую вещь, и она не работает.

def LoadExcel():
    wb = openpyxl.load_workbook('WB/book.xlsx')
    #print(wb)
    sheet = wb.get_sheet_by_name('Sheet1')
    #print(sheet)

    try:
        infile = open("text.txt", "r")
        line = infile.readline()

        for rowNum in range(1, sheet.max_row):
            print(rowNum)
            for colNum in range(1, 3):
                print(colNum)
                sheet.cell(row=rowNum, column=colNum).value = line.rstrip()

    except IOError:
        print("Error")
        sys.exit()


    wb.save('book1.xlsx')

Программа работает нормально, но в листе Excel ничего нет. Печать (rowNum) под первым циклом for ничего не выводит на консоль. Так что по какой-то причине цикл for не работает, и я понятия не имею, почему.

1 Ответ

0 голосов
/ 17 июня 2019

Причина, по которой он не работал, была из-за того, что книга пуста (спасибо за комментарий). Вместо этого я изменил способ ввода текста, и он, кажется, работает.

    try:
        colNum = 1
        rowNum = 1
        infile = open("text.txt", "r")
        line = infile.readline()


        for line in infile:
            sheet.cell(row=rowNum, column=colNum).value = line.rstrip()
            line = infile.readline()
            colNum+=1

            if(colNum > 3):
                colNum = 1
                rowNum+=1

...