0 / 0 / 0
Регистрация: 26.04.2016
Сообщений: 16

Работа библ. pandas с данными с xlsx

28.02.2024, 12:46. Показов 404. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не пойму в чём проблема, код работал на протежении пол года без проблем, теперь не удаляет строчки с датами текущей недели, проверил через print все форматы выовдятся правильно, но вот почему то не удаляет эти строки не пойму, причём само сломалось, ничего не менял, мистика.....

как работает код
открывает три файла, сличает их по критериям, переносит необходимые значения в один файл (несоотвествия)
определяет даты текущей недели от и до
читает столбец 3 файла DISCREPANCY_FILE и проверяет попадает ли дата в текущий диапазон текущей недели, если попадает то удаляет строку, если не попадает, то оставляет (это нужно для отображения несоответствий)

ну вот у меня и сломалось всё само, дата попадает, а удалять не удаляет.....
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
           # Загрузка данных из файлов с использованием Pandas
            verification_df = pd.read_excel(ALL_GTM_FILE_VERIFIC, header=None)
            archive_df = pd.read_excel(ARCHIVE_FILE_RA, header=None)
            updates_df = pd.read_excel(UPDATES_FILE_ARSHIN, header=None)
 
            # Создание списка значений из столбца F файла верификации
            verification_column_5 = verification_df.iloc[:, 5]
 
            # Создание множества значений из столбца A файла архива
            archive_column_1 = set(archive_df.iloc[:, 0])
 
            # Фильтрация несоответствий и запись их в новый DataFrame
            discrepancy_df = verification_df[~verification_column_5.isin(archive_column_1)]
 
            # Добавление проверки на заполненность ячеек в столбцах B, C файла "UPDATES_FILE_ARSHIN"
            empty_cells = updates_df.iloc[1:, [1, 2 ]].isnull().any(axis=1)
            empty_rows = updates_df.iloc[1:][empty_cells]
 
            # Выбор нужных столбцов из "UPDATES_FILE_ARSHIN" и добавление их в "DISCREPANCY_FILE"
            selected_columns = empty_rows.iloc[:, [0, 4, 5]]  # Выбираем столбцы 1, 5, 6
            selected_columns.columns = [5, 6, 7]  # Вставляем вдругие столбцы 5, 6, 7
 
            discrepancy_df = pd.concat([discrepancy_df, selected_columns], ignore_index=True)
 
            # Считываем текущую дату
            current_date = datetime.now()
 
            # Определяем первый день недели
            start_of_week = current_date - timedelta(days=current_date.weekday())
 
            # Определяем последний день недели
            end_of_week = start_of_week + timedelta(days=6)
 
            print(f"{start_of_week} - {end_of_week}")
 
            # Определяем форматы дат
            format_date = "%d.%m.%Y"
 
            # Преобразуем даты в строки
            start_of_week_str = start_of_week.strftime(format_date)
            end_of_week_str = end_of_week.strftime(format_date)
 
            print(f"{start_of_week_str} - {end_of_week_str}")
 
            # Вывод значений из столбца 3 перед фильтрацией
            print("Values in column 3 before filtering:")
            print(discrepancy_df.iloc[:, 3])
 
            # Удаление строк, в которых столбец 3 содержит дату текущей недели
            discrepancy_df = discrepancy_df.loc[~discrepancy_df.iloc[:, 3].between(start_of_week_str, end_of_week_str)]
            for value in discrepancy_df.iloc[:, 3]:
                print(f"Value: {value}, Is in range: {start_of_week_str} - {end_of_week_str}: {value >= start_of_week_str and value <= end_of_week_str}")
            print(discrepancy_df)
            
            # Получить количество несоответствий
            num_discrepancies = discrepancy_df.shape[0]
 
            # Сохранение файла несоответствий
            discrepancy_df.to_excel(DISCREPANCY_FILE, index=False, header= False)
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Принты
2024-02-26 12:44:28.545627 - 2024-03-03 12:44:28.545627
26.02.2024 - 03.03.2024
Values in column 3 before filtering:
0     27.02.2024
1     27.02.2024
2     28.02.2024
3     28.02.2024
4     27.02.2024
         ...    
81    15.02.2024
82    15.02.2024
83    15.02.2024
84    15.02.2024
85    15.02.2024
Name: 3, Length: 86, dtype: object
Value: 27.02.2024, Is in range: 26.02.2024 - 03.03.2024: False
Value: 27.02.2024, Is in range: 26.02.2024 - 03.03.2024: False
Value: 28.02.2024, Is in range: 26.02.2024 - 03.03.2024: False
Value: 28.02.2024, Is in range: 26.02.2024 - 03.03.2024: False
Value: 27.02.2024, Is in range: 26.02.2024 - 03.03.2024: False
Value: 27.02.2024, Is in range: 26.02.2024 - 03.03.2024: False
Value: 27.02.2024, Is in range: 26.02.2024 - 03.03.2024: False
Value: 27.02.2024, Is in range: 26.02.2024 - 03.03.2024: False
Value: 27.02.2024, Is in range: 26.02.2024 - 03.03.2024: False
Value: 27.02.2024, Is in range: 26.02.2024 - 03.03.2024: False
Value: 27.02.2024, Is in range: 26.02.2024 - 03.03.2024: False
Value: 27.02.2024, Is in range: 26.02.2024 - 03.03.2024: False
..       ...         ...      ...         ...         ...                         ...  ...  ...
Value: 15.02.2024, Is in range: 26.02.2024 - 03.03.2024: False
Value: 15.02.2024, Is in range: 26.02.2024 - 03.03.2024: False
Value: 15.02.2024, Is in range: 26.02.2024 - 03.03.2024: False
Value: 15.02.2024, Is in range: 26.02.2024 - 03.03.2024: False
Value: 15.02.2024, Is in range: 26.02.2024 - 03.03.2024: False
Value: 15.02.2024, Is in range: 26.02.2024 - 03.03.2024: False
Value: 15.02.2024, Is in range: 26.02.2024 - 03.03.2024: False
Value: 15.02.2024, Is in range: 26.02.2024 - 03.03.2024: False
           0           1        2           3           4                           5    6    7
0   22577-08     ФП11.2К  2005062  27.02.2024  26.02.2025  С-АЮЛ/27-02-2024/319805240  NaN  NaN
1   22577-08     ФП11.2К  1407176  27.02.2024  26.02.2025  С-АЮЛ/27-02-2024/319805239  NaN  NaN
2   17005-01     ТСМ 012        1  28.02.2024  27.02.2026  С-АЮЛ/28-02-2024/319805187  NaN  NaN
3   17005-01     ТСМ 012        2  28.02.2024  27.02.2026  С-АЮЛ/28-02-2024/319805186  NaN  NaN
4   26053-03      АМТ-03       26  27.02.2024  26.08.2024  С-АЮЛ/27-02-2024/319805114  NaN  NaN
..       ...         ...      ...         ...         ...                         ...  ...  ...
81  28514-05   НМП-522  1804860  15.02.2024  14.02.2025  С-АЮЛ/15-02-2024/318859951  NaN  NaN
82  28514-05  ТНМП-522  1805573  15.02.2024  14.02.2025  С-АЮЛ/15-02-2024/318859950  NaN  NaN
83  28514-05   НМП-522  1804835  15.02.2024  14.02.2025  С-АЮЛ/15-02-2024/318859949  NaN  NaN
84  28514-05   НМП-522  1804875  15.02.2024  14.02.2025  С-АЮЛ/15-02-2024/318859948  NaN  NaN
85  28514-05   НМП-522  9568109  15.02.2024  14.02.2025  С-АЮЛ/15-02-2024/318859947  NaN  NaN
 
[86 rows x 8 columns]

Не пойму в чём проблема, как могло всё сломаться..... Есть у кого нибудь мысли в чём проблема ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.02.2024, 12:46
Ответы с готовыми решениями:

Работа с данными файлов Excel .xlsx.
Здравствуйте! А у меня тоже вопрос по теме, если позволите. При записи питоном каких либо данных в уже существующий экселевский файл, все...

Работа с данными файлов Excel .xlsx. Чтение и вывод данных с использованием модуля openpyxl
Здравствуйте! Пытаюсь освоить работу чтения и записи данных в таблицы Excel, используя Python и его модуль openpyxl. При попытке записи или...

Pandas: запись в файл xlsx стилизированного dataframe
Всем привет. Есть словарь такого формата host={ 'ip_adr': 'OS: Windows Server (R) 2008 Standard 6001 Service Pack 1 (Windows...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.02.2024, 12:46
Помогаю со студенческими работами здесь

Pandas: запись в файл xlsx стилизированного dataframe
Приветствуемую все! Есть словарь формата host={ 'ip_adr': 'OS: Windows Server (R) 2008 Standard 6001 Service Pack 1 (Windows Server...

Как скачать .xlsx файл с ftp сервера в pandas Dataframe, не сохраняя на компьютер?
Мой код выглядит следующим образом: import ftplib import pandas as pd import xlrd import openpyxl from io import BytesIO ...

Можно ли восстановить удаленую строчку с данными в сохраненном xlsx файле
Случайно удалили и сохранили. Как можно восстановить?

Как заполнить/считать таблицу excel.xlsx данными и не убить весь дизайн таблиц?
Здравствуйте, есть DataGrid на форме из нее надо перенести данные в эксель файл уже с готовым дизайном таблиц. я переношу вот так но...

Работа с xlsx
Здравствуйте ув. форумчане. Сразу перейду к делу: Есть форма, в которой я рассчитываю те или иные формулы, которые впоследствии...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

Новые блоги и статьи
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru