Форум программистов, компьютерный форум, киберфорум
Python: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 26.04.2016
Сообщений: 16

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

28.02.2024, 12:46. Показов 431. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru