Сортировать по дате с помощью файла Excel и Pandas - PullRequest
0 голосов
/ 06 октября 2019

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

Я был на всем протяжении Google и YouTube.

import pandas as pd
import datetime
from datetime import timedelta

x = datetime.datetime.now()

excel_workbook = 'data.xlsx'
sheet1 = pd.read_excel(excel_workbook, sheet_name='RAW DATA')

sheet1['Call_DateTime'] = pd.to_datetime(sheet1['Call_DateTime'])

sheet1.sort_values(sheet1['Call_DateTime'], axis=1, ascending=True, inplace=True)

sheet1['SegmentDuration'] = pd.to_timedelta(sheet1['SegmentDuration'], unit='s')

sheet1['SegmentDuration'] = timedelta(hours=0.222)

sheet1.style.apply('h:mm:ss', column=['SegmentDuration'])

sheet1.to_excel("S4x Output"+x.strftime("%m-%d")+".xlsx", index = False)

print("All Set!!")

Я хотел бы, чтобы он сортировал самые старые и самые новые.

1 Ответ

0 голосов
/ 06 октября 2019

Обновите код, и это работает.

import pandas as pd
import datetime
from datetime import timedelta

x = datetime.datetime.now()

excel_workbook = 'data.xlsx'
sheet1 = pd.read_excel(excel_workbook, sheet_name='RAW DATA')

sheet1['Call_DateTime'] = pd.to_datetime(sheet1['Call_DateTime'])

sheet1.sort_values(['Call_DateTime'], axis=0, ascending=True, inplace=True)

sheet1['SegmentDuration'] = pd.to_timedelta(sheet1['SegmentDuration'], unit='s')

sheet1['SegmentDuration'] = timedelta(hours=0.222)

sheet1.style.apply('h:mm:ss', column=['SegmentDuration'])

sheet1.to_excel("S4x Output"+x.strftime("%m-%d")+".xlsx", index = False)

print("All Set!!")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...