【问题标题】:Loading data from excel to pandas. Just need Date, Do not need Time将数据从 excel 加载到 pandas。只需要日期,不需要时间
【发布时间】:2021-08-02 18:07:06
【问题描述】:

我正在将数据从 Excel 工作表加载到 Pandas。我的 excel 中有 MM/DD/YYYY 格式的日期。

当我使用 pandas df = pd.read_excel('sheet1') 读取数据并尝试在 SQL Server df.to_sql() 中写入数据帧时,日期值在 SQL Server 中以 YYYY-MM-DD HH:MM:SS 格式写入。

但是,我需要 SQL Server 中 MM/DD/YYYY 中的日期值。我也不需要任何时间出现在我的桌子上。

有什么建议吗?

【问题讨论】:

  • date 值存储为 date 值,它们是二进制的,没有格式。如果要显示它们,请在选择时使用castformat。您可以在datedatetime 类型之间进行选择
  • @Charlieface 谢谢,我可以在熊猫中进行投射或格式化吗?我想在将数据加载到最终目的地(SQL Server)之前对其进行转换
  • 那你在问什么?您需要将数据插入为datedatetime,所以请继续。

标签: python sql-server excel pandas


【解决方案1】:

终于找到了我想要的答案:

df['Column'] = df['Column'].dt.strftime('%m/%d/%Y')

这只会给我日期和我想要的格式。它会将列的数据类型更改为'object'


如果您只想要日期而不想要YYYY-MM-DD 中的时间,请使用:

df['Column'] = pd.to_datetime(df['Column']).dt.date

这只会给你日期。但是,数据类型将是'object'


对于'datetime64'的数据类型

df['Column'] = pd.to_datetime(df['Column']).dt.normalize()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-03
    • 2015-04-04
    • 1970-01-01
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多