Применение формата даты в пандах не работает должным образом? - PullRequest
0 голосов
/ 24 сентября 2019

Я пытаюсь использовать библиотеку pandas для обработки большого количества файлов Excel, имеющих одинаковые столбцы.

Вот моя функция;

def read_dipsfile(writer):
    atg_path = '/Users/ratha/PycharmProjects/DataLoader/data/dips'
    files = os.listdir(atg_path)
    df = pd.DataFrame()
    dateCol = ['Dip Time']
    for f in files:
        if(f.endswith('.CSV')):
            data = pd.read_csv(os.path.join(atg_path, f), delimiter=',', skiprows=[1], skipinitialspace=True,
                               parse_dates=dateCol)

            data['Dip Time'] = pd.to_datetime(data['Dip Time'])

            if mid_day_check(data['Dip Time']):
                data['Dip Time'] = data['Dip Time'].dt.normalize()
                data['Dip Time'] = data['Dip Time'] .dt.strftime('%d/%m/%Y')
                df = df.append(data)

    x = df.groupby(['Dip Time','Site', 'Tank ID','Product','Volume'], as_index=False).apply(atg_aggregation)
    x.to_excel(writer, sheet_name='DipsSummary')

Здесь я ожидаю, что мой столбец Dip Time покажет даты как'01 -09-2019 '(дата-месяц-год) Но я наконец понял (формат месяц-дата -год) 09/01/2019?Что я тут не так делаю?

Мой исходный формат даты файлов похож на формат '17/09/2019'.При чтении столбца даты я должен определить, какой это формат даты?

1 Ответ

0 голосов
/ 24 сентября 2019

Измените строку to_datetime, добавив dayfirst

data['Dip Time'] = pd.to_datetime(data['Dip Time'],dayfirst=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...