【发布时间】:2018-04-20 16:41:52
【问题描述】:
在我的 .csv 文件中遇到了一些问题。默认日期在我的 csv 文件中格式化为单元格内的1/12/2011 0:00,但是当我突出显示单元格时显示1/12/2011 12:00:00 AM。我要做的是从多个列中删除0:00 (12:00:00 AM)。我正在尝试使用.rstrip 电话,希望能纠正这个问题。下面是我的代码,它可以编译,但不会删除 .csv 文件中的 0:00 或 now 1/12/2011 12:00:00 AM 默认值。我不确定如何解决这个问题,任何建议都会受到欢迎。谢谢。
第一次尝试:
df = pd.read_excel ('.xlsx', header=None)
df.to_csv('.csv', header=None, index=False)
dateparse = lambda x: parse(x).strftime('%m/%d/%Y %H:%M').rstrip(" 0:00")
df = pd.read_csv('.xlsx', index_col=[5,8,12], date_parser=dateparse)
第二次尝试:
df = pd.read_excel ('.xlsx', header=None)
df.to_csv('.csv', header=None, index=False)
dateparse = lambda x: parse(x).strftime('%m/%d/%Y %H:%M').rstrip(" 12:00:00 AM")
df = pd.read_csv('.xlsx', index_col=[5,8,12], date_parser=dateparse)
注意:如您所见,我正在从 .xlsx 转换为 .csv,并认为在 .csv 格式中更正日期会更容易。此外,在 .xlsx 文件中,日期列未按时间格式化,因此我不确定发生了什么。
【问题讨论】:
-
为什么你不从日期字符串中取出 x[0,-5] 子字符串?
标签: python csv datetime date-formatting timedelta