首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

pandas读取日期后格式变成XXXX-XX-XX 00:00:00?(文末赠书)

池塘春草谢家春,万古千秋五字新。

大家好,我是Python进阶者。

一、前言

前几天在Python最强王者交流群【鶏啊鶏。】问了一个Pandas处理Excel的问题。问题如下:pandas读取了XXXX-XX-XX的日期后变成XXXX-XX-XX 00:00:00  有什么方式可以读取时不改变日期格式吗?

二、实现过程

这里【莫生气】问了AI后,给了一个思路:在使用 pandas 读取日期时,如果希望保持日期格式的原样,不自动添加时间部分(如 00:00:00),可以通过以下几种方式来实现:

指定列格式:在读取 CSV 文件时,可以通过 pandas.read_csv 方法的 parse_dates 参数来指定日期列的格式。例如:

import pandas as pd

# 读取 CSV 文件,不解析日期列

df = pd.read_csv('your_file.csv', parse_dates=['date_column'])

这样,日期列 date_column 就不会被自动解析为日期时间格式,而会保持为字符串格式。

**使用 datetime.strptime**:如果你在从字符串转换日期时不想添加默认的时间部分,可以手动使用 datetime.strptime 方法来转换。例如:

import datetime

import pandas as pd

# 假设 date_column 是一个包含日期的列

df['date_column'] = pd.to_datetime(df['date_column'], format='%Y-%m-%d')

这里 format='%Y-%m-%d' 指定了日期字符串的格式。

读取 Excel 文件时指定格式:当读取 Excel 文件时,可以使用 pandas.read_excel 方法的 date_parser 参数来指定日期列的格式。例如:

import pandas as pd

# 读取 Excel 文件,指定日期列的格式

df = pd.read_excel('your_file.xlsx', date_parser='%Y-%m-%d')

这样,日期列就会按照 %Y-%m-%d 的格式来解析,而不会添加额外的时间信息。通过这些方法,你可以根据需要读取日期,而不会让 pandas 自动更改日期格式。记住,如果你之后需要进行日期时间运算,可能需要将日期列转换为正确的 datetime 类型。

后来【吴超建】还尝试了粉丝的代码,并未发现问题,断定是粉丝自己原始数据的问题。

所以这里粉丝保存的时候就是这样,不是读取的问题,源代码存在的bug需要提前解决,【隔壁山楂】给出了指导。

在将日期数据保存到 Excel 文件时,Pandas 默认会将日期时间保存为完整的日期时间格式,包括小时、分钟和秒。这是因为 Excel 对日期时间数据的存储和显示方式是具有精确度的,它保留了完整的日期时间信息。如果您希望在 Excel 中只显示日期部分而不显示小时、分钟和秒部分,可以在保存数据到 Excel 之前,使用 strftime 函数将日期时间格式化为所需的日期格式。gpt的解答。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O8Bx8QBB8aGuoH2T8kfG1akw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券