Python 将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告

我的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
告诉它预计一个四位数的年份

首先创建一个日期时间,以便与日期后的日期时间进行比较,例如
。然后可以按如下方式比较这两个日期:

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