将CSV日期时间转换为整数

时间:2017-02-27 15:57:59

标签: 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

是否有内置方法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

我建议您将csv文件中的日期转换为datetime格式。这是通过获取字符串并使用strptime()将其转换为%Y对象来完成的。该函数采用格式字符串,允许您告诉它日期字符串的格式。例如after_date告诉它期望四位数。

首先创建一个日期时间来比较,例如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) 。然后可以按如下方式比较两个日期:

row[0]

这假设您尝试比较的日期位于第一列,即10/3/1946 0:00:00,row1 4/4/1947 0:00:00,row2 4/4/1957 0:00:00,row3 12/19/1957 0:00:00,row4 1/1/1958 0:00:00,row5 。例如,如果您有一个csv文件,如下所示:

Entries after 1957-12-18 00:00:00
row4 - 1957-12-19 00:00:00
row5 - 1958-01-01 00:00:00    

该脚本将显示以下信息:

app.get('/settings', function(req, res) {
    connection.acquire(function (err, con) {
        con.query('SELECT * FROM user', function (err, rows) {
            con.release();
            if(err) {
                console.log(err);
            } else {
                obj = JSON.parse(JSON.stringify(rows));
                res.render('settings', {
                    obj:obj,
                    title: 'Settings',
                    classname: 'settings'
                });
            }
        });
    });
});