Python 将CSV日期时间转换为整数
我的csv文件包含格式化为以下格式的日期:Python 将CSV日期时间转换为整数,python,csv,datetime,Python,Csv,Datetime,我的csv文件包含格式化为以下格式的日期: 10/3/1946 0:00:00 4/4/1947 0:00:00 我想知道csv文件中过去出现的值,例如12/18/1957 0:00:000 要进行比较,我假设需要将其转换为一个数字,例如,10/3/1946 0:00:00将是17078.00 有内置的方法吗?我建议您将csv文件中的日期转换为datetime格式。这是通过获取字符串并使用将其转换为datetime对象来实现的。函数接受一个格式字符串,允许您告诉它日期字符串的格式。例如,%Y告
10/3/1946 0:00:00
4/4/1947 0:00:00
我想知道csv文件中过去出现的值,例如12/18/1957 0:00:000
要进行比较,我假设需要将其转换为一个数字,例如,10/3/1946 0:00:00
将是17078.00
有内置的方法吗?我建议您将csv文件中的日期转换为
datetime
格式。这是通过获取字符串并使用将其转换为datetime
对象来实现的。函数接受一个格式字符串,允许您告诉它日期字符串的格式。例如,%Y
告诉它预计一个四位数的年份
首先创建一个日期时间,以便与日期后的日期时间进行比较,例如。然后可以按如下方式比较这两个日期:
from datetime import datetime
import csv
after_date = datetime(1957, 12, 18)
print "Entries after {}".format(after_date)
with open('input.csv') as f_input:
for row in csv.reader(f_input):
row_date = datetime.strptime(row[0], "%m/%d/%Y %H:%M:%S")
if row_date >= after_date:
print "{} - {}".format(row[1], row_date)
这假设您尝试比较的日期位于第一列,即行[0]
。例如,如果您有一个csv文件,它看起来像:
10/3/1946 0:00:00,第1行
1947年4月4日0:00:00,第2排
1957年4月4日0:00:00,第3排
1957年12月19日0:00:00,第4排
1958年1月1日0:00:00,第5排
脚本将显示以下信息:
1957-12-18 00:00:00之后的条目
第4排-1957-12-19 00:00:00
第5行-1958-01-01 00:00:00
我建议您将csv文件中的日期转换为datetime
格式。这是通过获取字符串并使用将其转换为datetime
对象来实现的。函数接受一个格式字符串,允许您告诉它日期字符串的格式。例如,%Y
告诉它预计一个四位数的年份
首先创建一个日期时间,以便与日期后的日期时间进行比较,例如。然后可以按如下方式比较这两个日期:
from datetime import datetime
import csv
after_date = datetime(1957, 12, 18)
print "Entries after {}".format(after_date)
with open('input.csv') as f_input:
for row in csv.reader(f_input):
row_date = datetime.strptime(row[0], "%m/%d/%Y %H:%M:%S")
if row_date >= after_date:
print "{} - {}".format(row[1], row_date)
这假设您尝试比较的日期位于第一列,即行[0]
。例如,如果您有一个csv文件,它看起来像:
10/3/1946 0:00:00,第1行
1947年4月4日0:00:00,第2排
1957年4月4日0:00:00,第3排
1957年12月19日0:00:00,第4排
1958年1月1日0:00:00,第5排
脚本将显示以下信息:
1957-12-18 00:00:00之后的条目
第4排-1957-12-19 00:00:00
第5行-1958-01-01 00:00:00
为什么不使用strtime
将所有内容作为日期时间进行比较呢?我想这样做会更容易,因为我还需要“经过的天数”从某个日期开始。您可以使用strtime
转换日期,然后计算差异date1-date2
。为什么不使用strtime
将所有内容作为日期时间进行比较呢?我想这样做会更容易,因为我还需要“经过的天数”从某个日期开始。您可以使用strtime
转换日期,并计算差异date1-date2
。