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

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

28.02.2024, 12:46. Показов 463. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru