У меня есть программа на python, которая использует панды для записи их в csv, одно из значений столбца, которое я использую в качестве имени папки файла. Один из моих столбцов содержит даты в столбце CAST как просто дату в формате 2018-10-31, и мне нужна программа для создания файлов только на сегодняшний день. Когда я добавляю предложение AND с CAST (GETDATE () AS DATE) или CONVERT (DATE, GETDATE ()), он возвращает пустой фрейм данных, когда я удаляю AND, он работает нормально, но создает CSV, содержащий всю информацию для все даты в таблице.
моя ошибка:
Empty DataFrame
Columns: [ ScheduleDate, Vendor, note, WOGFileFolder]
Index: []
Traceback (most recent call last):
File "testing.py", line 85, in <module>
WOG_folder = pickups_df.at[0, 'WOGFileFolder']
File "File Path Redacted", line 2141, in __getitem__
key = self._convert_key(key)
File "File Path Redacted", line 2227, in _convert_key
raise ValueError("At based indexing on an non-integer "
ValueError: At based indexing on an non-integer index can only have non-integer indexers
мой код:
stmt_vendor = """
SELECT DISTINCT
Vendor
FROM SOME_DB..SOME_TABLE;"""
cur.execute(stmt_vendor)
partners = cur.fetchall()
for partner in partners:
stmt_vendor_pickup_list = """
SELECT
ScheduleDate
, Vendor
, note
, WOGFileFolder
FROM SOME_DB..SOME_TABLE
WHERE Vendor = ?
AND ScheduleDate = CAST(GETDATE() AS DATE
ORDER BY ScheduleDate;"""
pickups_df = pd.read_sql_query(stmt_vendor_pickup_list, conn, params= partner)
logger.infor(pickups_df)
WOG_folder = pickups_df.at[0, 'WOGFileFolder']
vendor_dir = 'FILE_PATH_REDACTED' + WOG_folder
if not os.path.exists(vendor_dir):
os.mkdir(vendor_dir)
logger.info("CREATED DIR FOR: " + WOG_folder)
else:
logger.info("DIR FOR " + WOG_folder + " ALREADY EXISTS")
pickup_file_name = WOG_folder + '_testing.csv'
, а затем программа продолжает сборку CSV, используя эту информацию.