如何防止熊猫将原始数据库日期格式转换为熊猫日期格式

时间:2020-07-23 15:30:13

标签: pandas date netezza

我的日期格式在数据库中的格式如下: 2017/9/15上午5:01:44

但是当使用pandas read_sql时,日期格式将如下所示: 2017-09-15 05:01:44

这里有两个问题:

  1. 第一个是 / 更改为-
  2. 第二个是mm / dd / yyyy 托德yyyy-mm-dd。年成为第一要素。

主要问题是我在不同的表中有不同格式的日期列,有些只是日期,而另一些是日期和时间戳。

我不知道格式是什么样子。 读取数据时有什么办法可以保留原始格式?

2 个答案:

答案 0 :(得分:0)

让我们尝试:strftime('%m/%d/%Y')函数。

import pandas as pd

df = pd.DataFrame({'test': {0: '23/07/2020', 1: '23/07/2020'}})
print (df)
        test
0  23/07/2020
1  23/07/2020

df['test'] = pd.to_datetime(df.test)
print (df)
        test
0 23-07-2020
1 23-07-2020

df['test1'] = df['test'].dt.strftime('%m/%d/%Y')
print (df)
        test       test1
0 23-07-2020  23/07/2020
1 23-07-2020  23/07/2020

答案 1 :(得分:0)

最简单的答案是:我99%的确定您不能(即使我只能用Google搜索“熊猫”)

稍长一点的答案是您的问题没有道理:所有数据都以二进制值的形式存储在系统内部。除了“存储格式”(适用于数据库SERVER)之外,您还应关注“显示格式”,该格式主要适用于您选择用来查看数据的客户端软件。请注意,所有数据类型(包括日期)都是如此,但整数,浮点数和字符串都具有与“显示格式”非常不同的“存储格式”。

此外,所有软件系统(如SAS,R,python(或Pandas))也都可以将数据存储在文件中,每种数据类型的“存储格式”在理论上可能与数据库中的相同,但会有所不同。 对于同一数据类型,客户端甚至可能具有不同的“显示格式”,具体取决于数据来自何处(即使我认为这种不良行为)

这对您有意义吗?