TypeError: 'int' object is not iterable

sof07

Новичок
Пользователь
Авг 3, 2020
14
1
3
Здравствуйте! При попытке сохранить DataFrame в таблицу Word столкнулся с ошибкой TypeError: 'int' object is not iterable

Python:
def new_list_group(NUMBER):
    NUMBER = NUMBER
    Name_doc = 'Список поощрений за группу.docx' # склеиваем название файла
    directory_finish = DIRECTORY_SAVE + '\\' + Name_doc # директория куда сохраняем файл
    docfinish = Document() #Создаем пустой документ
    tables_1 = count_blagodarnost(grupboy_namber_group (NUMBER, dataframe_blagodarnost_full (DOCUMENT_1,list_docx)))   
      
    table1 = docfinish.add_table(tables_1.shape[0] + 1, tables_1.shape[1]) #Добавляем таблицу 
    table1.style = 'Table Grid'  # Стиль таблицы
    for j in range(tables_1.shape[-1]):
        table1.cell(0, j).text = tables_1.columns[j]
    for i in range(tables_1.shape[0]):
        for j in range(tables_1.shape[-1]):
            table1.cell(i + 1, j).text = str(tables_1.values[i, j])
    print(f'Файл обработан')

    docfinish.save(directory_finish) # сохраняем документ

переменная tables_1 получает DataFrame такого вида:
2БлагоБлагодарностьГрамотаДа ни за чтоМедальЦенный подарок
0
12​
1Анисимов Юрий Петрович
12​
2Иванов Иван Иванович
12​
12​
3Кузнецов Никола Питерский
2​
10​
4Петров николай Владимирович
1​
11​
5Рябцев Никита Сергеевич
12​
6Сидоров Иван Федорович
12​
7Скворцов Антуан Петрович
2​
10​
8Федотов Федот Федотович
12​

В чем может быть проблема?
ЗЫ использую python - docx
pandas
 
Последнее редактирование:

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 566
454
83
возможно дело в названии столбцов, цифра 2 возможно не нравится
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 566
454
83
ну явно проблема в циклах for, а в какой строке ошибка?
 

sof07

Новичок
Пользователь
Авг 3, 2020
14
1
3
ну явно проблема в циклах for, а в какой строке ошибка?
вот что выдает:

File "d:/PITHON/Blagodarnost/PoLichnomuNomeru-3.py", line 169, in <module>
teturn(FIRST_SING)
File "d:/PITHON/Blagodarnost/PoLichnomuNomeru-3.py", line 116, in teturn
new_list_group(NUMBER)
File "d:/PITHON/Blagodarnost/PoLichnomuNomeru-3.py", line 135, in new_list_group
table1.cell(0, j).text = tables_1.columns[j]
File "C:\Python38\lib\site-packages\docx\table.py", line 270, in text
r.text = text
File "C:\Python38\lib\site-packages\docx\oxml\text\run.py", line 104, in text
_RunContentAppender.append_to_run_from_text(self, text)
File "C:\Python38\lib\site-packages\docx\oxml\text\run.py", line 134, in append_to_run_from_text
appender.add_text(text)
File "C:\Python38\lib\site-packages\docx\oxml\text\run.py", line 141, in add_text
for char in text:
TypeError: 'int' object is not iterable

134 строка это здесь 9 (for j in range(tables_1.shape[-1]))

141 это docfinish.save(directory_finish)
 
Последнее редактирование:

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 566
454
83
Я затрудняюсь ответить к сожалению
 

sof07

Новичок
Пользователь
Авг 3, 2020
14
1
3
Я затрудняюсь ответить к сожалению
жаль .... Вот такая DataFrame нормально отрабатывается в этом же цикле
Кем поощренФИОлнномер группывид поощрения
0НачальникИванов1235грамота
1н-кПетров3215благодарность
 

sof07

Новичок
Пользователь
Авг 3, 2020
14
1
3
возможно дело в названии столбцов, цифра 2 возможно не нравится
А вот это прямо в дырочку! Спасибо!))
 

Форум IT Специалистов