【问题标题】:Pandas Python - Trailing timestamp removalPandas Python - 去除尾随时间戳
【发布时间】:2018-09-26 14:37:19
【问题描述】:

我是 Pandas 和 Python 的新手,遇到了一个问题。该代码“几乎”按预期工作。从 xlsx 转换为 csv 时,日期时间戳如下 06/12/2018 0:00。我想删除 '0:00' 时间部分。如何才能做到这一点?下面是数据的快照(它们是 .csv 文件中的单独列。另外,下面是代码。谢谢。

XOM | 86547218 | 6 |托尼 |乔尼 |8/8/2017 0:00 |543267873 | 754732 |2012 年 6 月 14 日 0:00| 2017 年 8 月 8 日 0:00 |100 |2017 年 6 月 14 日 0:00

   import pandas as pd

   df = pd.read_excel('.xlsx', header=None)
   df.to_csv('.csv', header=None, date_format = '%m/%d/%Y', index=False)

此外,从 .xlsx 到 .csv 的转换工作,我遇到的唯一问题是日期在多列和非常大的数据集中。谢谢。

【问题讨论】:

标签: python pandas csv xlsx


【解决方案1】:

假设您有一个系列 date 包含您的 datetime 值,您可以在导出为 CSV 之前转换为所需格式的字符串

import pandas as pd

df = pd.DataFrame({'date': pd.date_range('now', periods=4, freq='15D')})

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

print(df)

#          date
# 0  04/16/2018
# 1  05/01/2018
# 2  05/16/2018
# 3  05/31/2018

【讨论】:

  • 如何处理具有大量日期的多个列?这似乎限制了数量。我可能是错的,因为我是熊猫和 python 的新手。谢谢。 @jpp
  • @New_to_Python,我不确定你的意思,你可以遍历任意多的列,例如for col in ['date1', 'date2', 'date3']: df[col] = .....。您是否测试过性能以查看这是否存在问题?
  • 将您的建议集成到我的代码中(如上所示)时,从 .xlsx 转换后的 .csv 中显示的所有内容都是一列 4 个日期。 .xlsx 文件有多个包含不同数据集和日期的列,以及一个标题。我的原始代码能够转换所有内容,甚至是日期,但后面的 0:00 我不想要。您的代码有效,但它删除了我的所有其他数据。有什么建议。谢谢。 @jpp
  • 不知道。您可以使用您的一些数据尝试editing您的问题,因为我看不到您描述的问题。
  • 我继续编辑了我的信息。让我知道您是否可以提供帮助或需要其他信息。另外,我感谢您和大家抽出宝贵的时间。 @jpp
猜你喜欢
  • 2021-03-17
  • 2021-10-15
  • 1970-01-01
  • 1970-01-01
  • 2013-06-14
  • 2011-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多