pandas读取日期后格式变成XXXXXXXX 00:00:00

2024年 2月 22日 70.7k 0

一、前言

前几天在Python最强王者交流群有人问了一个Pandas处理Excel的问题。

问题如下:pandas读取了XXXX-XX-XX的日期后变成XXXX-XX-XX 00:00:00  有什么方式可以读取时不改变日期格式吗?

图片[1]-pandas读取日期后格式变成XXXX-XX-XX 00:00:00-不念博客

二、实现过程

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

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

例如:

import pandas as pd
# 读取 CSV 文件,不解析日期列
df = pd.read_csv('your_file.csv', parse_dates=['date_column'])

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

2、**使用 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' 指定了日期字符串的格式。

3、读取 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 类型。

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论