![](/img/trans.png)
[英]How to change time format in a csv file from DD:MM:YY HH:MM to YYYY-MM-DD HH:MM:SS. or YYYY/MM/DD HH:MM:SS
[英]change date format mm/dd/yyyy hh:mm:ss AM to yyyy-mm-dd hh:mm:ss format using python
我是 python 的新手,并尝试将数据从 csv 文件导入 mysql 表。 唯一的问题是除了日期时间之外的所有数据都没有导入。 我在日期字段中得到所有空值,我不知道我哪里出错了。
for row in reader:
print row
try:
(location_id, vrm, start_datetime,end_datetime,ticket_price,crap) = [x.decode('utf-8-sig') for x in row]
except:
print "Error with row: " % row
#sys.exit(3)
tmp = start_datetime.split(" ")
start_date = tmp[0]
start_time = tmp[1]
tmp = end_datetime.split(" ")
end_date = tmp[0]
end_time = tmp[1]
vrm = vrm.replace(' ', '')
vrm = vrm.upper()
tmp = start_date.split('/')
tmp = end_date.split('/')
SessionCost = float(ticket_price)/ 100
iso_date = "%s-%s-%s" %(tmp[0],tmp[1],tmp[2])
entryDatetime = "%s " % iso_date
expiryDatetime = "%s " % iso_date
sql_local = """INSERT INTO customer_1.pay_and_display
(plate, machine_id, ticket_datetime, expiry_datetime, ticket_name, ticket_price)
VALUES ("%s", "%s", "%s", "%s", "%s", "%s") """ % (vrm, location_id, start_datetime,
end_datetime, "IPSWL",SessionCost)
print sql_local
cursor.execute(sql_local)
你可以使用strptime
import datetime
dt = datetime.datetime.strptime("01/23/2021 04:12:56 AM", '%m/%d/%Y %H:%M:%S %p')
print(dt) #2021-01-23 04:12:56
如果您的日期使用 12 小时制,请将%H
更改为%I
另请注意,此示例中的dt
是日期 object。 打印它调用它的__str__
(或者可能__repr__
)方法。 要在您的 SQL 中使用它,您可能必须这样做str(dt)
。
这是有关各种格式字符及其含义的信息的链接。
如果我正在处理的程序使用日期或时间,我喜欢复制和粘贴这个简单的代码块。 “时间”变量是当前的日期时间 object ,“dtRn”变量可以轻松显示包含日期时间的单个字符串。 链接到 W3Schools Python 日期时间选项
import datetime
from time import strftime, strptime
time = datetime.datetime.now()
dtRn = str(strftime("%x") + " " + strftime("%X"))
如果您对运行程序需要多长时间(从开始到结束)感兴趣; 将此代码块的变体添加到脚本的末尾,并从开始时间中减去结束时间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.