如何在Python 3中将文本格式日期时间转换为日期时间对象并格式化为YYYY-MM-DD HH:MM
解决方法:导入TSV文件并处理日期格式转换
没问题,我来一步步帮你搞定这个需求!结合Jupyter Notebook的使用场景,我会分别介绍纯Python基础方法和更高效的pandas批量处理方法,你可以根据自己的需求选择。
第一步:导入制表符分隔的平面文件(TSV)
如果你是做数据分析,推荐用pandas来导入,代码非常简洁:
import pandas as pd # 导入TSV文件,sep指定为制表符'\t' df = pd.read_csv('你的文件名.tsv', sep='\t')
如果想用纯Python的csv模块手动处理,也可以这样写:
import csv with open('你的文件名.tsv', 'r', encoding='utf-8') as f: reader = csv.reader(f, delimiter='\t') # 读取表头和数据 header = next(reader) data = list(reader)
第二步:将日期字符串转换为datetime类型
你的日期格式是Sat Jul 25 04:43:04 +0000 2020,我们需要用对应格式符来精准解析它:
方法1:纯Python datetime模块(处理单个/少量字符串)
from datetime import datetime date_str = "Sat Jul 25 04:43:04 +0000 2020" # 解析字符串为datetime对象 datetime_obj = datetime.strptime(date_str, "%a %b %d %H:%M:%S %z %Y") print(datetime_obj) # 输出:2020-07-25 04:43:04+00:00
这里的格式符对应关系:
%a:星期的缩写(比如Sat)%b:月份的缩写(比如Jul)%d:两位数字的日期(比如25)%H:24小时制的小时(比如04)%M:两位数字的分钟(比如43)%S:两位数字的秒(比如04)%z:时区偏移(比如+0000)%Y:四位数字的年份(比如2020)
方法2:pandas批量处理(适合整列数据)
如果你的TSV文件里有一列是日期字符串,用pandas的to_datetime方法批量转换效率更高:
# 假设日期列名为'date_column',替换成你实际的列名 df['datetime_column'] = pd.to_datetime(df['date_column'], format="%a %b %d %H:%M:%S %z %Y")
第三步:格式化为YYYY-MM-DD HH:MM形式
转换为datetime对象后,就可以轻松格式化出你需要的样式:
纯Python方法
formatted_date = datetime_obj.strftime("%Y-%m-%d %H:%M") print(formatted_date) # 输出:2020-07-25 04:43
pandas批量格式化
如果要给整列数据生成格式化后的日期列:
df['formatted_date'] = df['datetime_column'].dt.strftime("%Y-%m-%d %H:%M")
这样整个列的日期都会被批量处理成你需要的格式。
内容的提问来源于stack exchange,提问作者cqkycia
相关产品推荐
相关产品推荐

