Чтение в файле Excel в панды в зависимости от месяца - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь прочитать в файле Excel в Pandas.

Я использую следующий код, чтобы получить предыдущий месяц:

today = datetime.date.today() 
first = today.replace(day=1) 
lastMonth = first - datetime.timedelta(days=1)

Затем я иду, чтобы вытянутьфайл без каких-либо ошибок:

if lastMonth == 12 : pods = pd.ExcelFile(r'\\somedrive\PODS data - PODS data - Jan 19.xlsx')
elif lastMonth == 1 : pods = pd.ExcelFile(r'\\somedrive\PODS data - Feb 19.xlsx')
else lastMonth == 2 : pods = pd.ExcelFile(r'\\somedrive\PODS data - Mar 19.xlsx')

Затем я пытаюсь определить, был ли он успешно загружен, набрав pods, и я получаю следующую ошибку:

NameError Traceback (большинствопоследний вызов последний) в ----> 1 pods

NameError: имя 'pods' не определено

Я уверен, что это что-то простое, но я не могу понять,что это такое

1 Ответ

2 голосов
/ 20 марта 2019

По вашему вопросу lastMonth имеет формат даты, и если вы укажете это с любым числом, это может привести к ошибке.

Я попробовал приведенный ниже код, который вы можете попробовать:

import datetime
today = datetime.date.today() 
first = today.replace(day=1) 
lastMonth = first - datetime.timedelta(days=1)
lastMonth.month

if lastMonth.month == 12:
    pods = pd.ExcelFile(r'C:\path\Python\File1.xlsx')
elif lastMonth.month == 1 :
    pods = pd.ExcelFile(r'C:\path\Python\File2.xlsx')
else :
    pods = pd.ExcelFile(r'C:\path\Python\File3.xlsx')

для последнего оператора (оператор else) вам не нужно определять условие. дайте мне знать, если это работает для вас.

...