Python ValueError:时间数据与远程计算机文件上的格式“%Y-%m-%d%H:%m:%S”不匹配

Python ValueError:时间数据与远程计算机文件上的格式“%Y-%m-%d%H:%m:%S”不匹配,python,csv,datetime,remote-access,paramiko,Python,Csv,Datetime,Remote Access,Paramiko,我使用sftp在远程机器上打开一个文件,它工作正常,但我遇到了这个错误 ValueError: time data '"2015-06-25 14:50:00"' does not match format '%Y-%m-%d %H:%M:%S' 但是我使用的格式是正确的。下面是我的代码,分别对应于代码的各个部分 #!/usr/bin/env python # -*-coding:utf-8 -* import os import sys import time import stat im

我使用sftp在远程机器上打开一个文件,它工作正常,但我遇到了这个错误

ValueError: time data '"2015-06-25 14:50:00"' does not match format 
'%Y-%m-%d %H:%M:%S'
但是我使用的格式是正确的。下面是我的代码,分别对应于代码的各个部分

#!/usr/bin/env python
# -*-coding:utf-8 -*
import os
import sys
import time
import stat
import pysftp as sftp
import subprocess
import paramiko
import datetime
from datetime import datetime, timedelta
from time import mktime, strftime, localtime, sleep



u_name = 'robi'
pswd = 'xxxx'
port = 22
r_ip = 'xxx.xxx.x.xxx'
sec_key = '/home/rob/key_detail'

myconn = paramiko.SSHClient()
myconn.set_missing_host_key_policy(paramiko.AutoAddPolicy())
my_rsa_key = paramiko.RSAKey.from_private_key_file(sec_key)
session = myconn.connect(r_ip, username=u_name, password=pswd, port=port,
                         pkey=my_rsa_key)
# print myconn.get_transport().is_active()
# path1 = "/home/rob_remote/sensors/12/tem_data/temp.dat"
fmt = '%Y-%m-%d %H:%M:%S'
path1 = "/home/rob_remote/sensors/12/tem_data/temp.dat"
path2 = '/home/new/loc/13/press/pressure.dat'
start_time = datetime.strptime("2015-06-25 14:50:00", fmt)
latest_time = datetime.now()
step_size = 10
diff = latest_time - start_time
minutes_values = diff.total_seconds() / 60
expected = int(minutes_values / step_size)
sftp = myconn.open_sftp()
with sftp.open(path1) as f:
    read = f.readlines()[4:]
    get_values = []
    for line in read:
        line = line.strip().split(',')
        start_date = line[0]
        start_date = datetime.strptime(start_date, fmt)
        current_time = datetime.now()
        step_size = 5
        differ_time = current_time - start_date
        minutes_values = differ_time.total_seconds() / 60
        get_values.append(int(minutes_values / step_size))
    # print 'get_values:::::::::::::::::::', max(get_values)
get_val = max(get_values)
.
.
.
.

有人能帮助我或指导我处理这个问题吗。我会很感激的

看起来您的日期字符串是用双引号括起来的,您可以在格式字符串中包含双引号,或者更简单的做法是先去掉这些双引号:

In[15]:
d = '"2015-06-25 14:50:00"'.replace('"','')
datetime.strptime(d, fmt)

Out[15]: datetime.datetime(2015, 6, 25, 14, 50)
strip也将在这里工作:

d.strip('\"')
因此,在代码中添加以下内容

start_date = line[0].replace('"','')


datetime字符串周围有双引号,因此需要将它们去掉或添加到格式字符串“%Y-%m-%d%H:%m:%S”@EdChum您可以给出一个如何添加到格式字符串的小示例吗。我尝试了两种解决方案,但都不起作用。@EdChum我尝试了此解决方案数据\u tmp=[v.replace\,用于开始日期中的v],但结果是TypeError:必须是字符串,而不是列表您应该能够执行开始日期=开始日期。替换“”,然后使用原始fmt stringtry和v.strip“\”将其传递给strtime,以删除开头和结尾的双引号
start_date = line[0].strip('\"')