输入数据来自一个CSV文件,其中日期在AM/PM中被格式化,然后Pandas库用于将CSV导出到sqlite数据库表中。在
Python2.7或3是否有任何优雅的解决方案或内置函数来将这些12小时的日期转换为24小时格式,最好是在写入数据库之前?我需要它来比较将被导入数据库的日期。在
使用以下代码:
import pandas as pd
import datetime as dt
from sqlite3 import connect
from glob import iglob
from os.path import splitext, basename
dbName = 'logs'
logsDir = 'event_logs'
def csvToDb(db, filename):
conn = connect(db)
df = pd.read_csv(filename,encoding='utf-8')
df.to_sql(splitext(basename(filename))[0], conn)
conn.close()
def csvLogsToDb(directory):
for filename in iglob(directory + '/*.csv'):
print('WRITING TO DB | ' + filename)
csvToDb(dbName, filename)
print("DONE")
if __name__ == "__main__":
csvLogsToDb(logsDir)
我删除了大部分数据并保留了最相关的数据,但总而言之,这是我当前的输入和需要的输出
输入CSV数据:
^{pr2}$电流输出
COL1
Information
Information
Information
COL2
2017/01/06 9:06:02 AM
2017/01/06 9:02:44 AM
2017/01/06 8:56:48 PM
预期产量
COL1
Information
Information
Information
COL2
2017-01-06 09:06:02
2017-01-06 09:02:44
2017-01-06 20:56:48
您可以使用datetime包来完成此操作
这将得到以下输出
相关问题 更多 >
编程相关推荐