【问题标题】:Applying date format in pandas not working as expected?在熊猫中应用日期格式没有按预期工作?
【发布时间】:2019-09-24 08:56:19
【问题描述】:

我正在尝试使用 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”格式。读取日期列时,我应该定义它的日期格式吗?

【问题讨论】:

  • 将参数dayfirst = True 传递给pd.read_csv

标签: python pandas


【解决方案1】:

更改to_datetime 行添加dayfirst

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-27
    • 2022-01-04
    • 1970-01-01
    • 2023-02-03
    • 1970-01-01
    • 2014-02-23
    • 2015-09-14
    • 1970-01-01
    相关资源
    最近更新 更多