Skip to main content
 首页 » 编程设计

python之字符串到 int之错误

2025年05月04日23oomusou

我有一个看起来像这样的字符串:

"2018-05-23-13:54:56.594000" 

当我尝试将其转换为 int 时,出现错误:

ValueError: invalid literal for int() with base 10: '"2018-05-23-13:54:56.594000"' 

代码:

output_file = open(r"C:\PATH\123.acc.bin", "wb") 
 
with open(r"C:\PATH\00000007.csv", newline='') as csvfile: 
    sensor = csv.reader(csvfile, delimiter=',', quotechar='|') 
 
    with open(r"C:\PATH\3dm2.csv", newline='') as csvfile: 
        sensor2 = csv.reader(csvfile, delimiter=',', quotechar='|') 
 
        for row, row2 in zip(sensor, sensor2): 
 
            internalTimestamp  = int(row2[16]) 
            msInfile = (int(float(row2[12])*1000)) + (1523138400000+604800000) 
 
            accX    = float(row[0]) 
            accY    = float(row[1]) 
            accZ    = float(row[2]) 
            roll    = float(row[3]) 
            pitch   = float(row[4]) 
            yaw     = float(row[5]) 
 
            accData2 = pack('f', accX) 
            accData3 = pack('f', accY) 
            accData4 = pack('f', accZ) 
            accData5 = pack('f', roll) 
            accData6 = pack('f', pitch) 
            accData7 = pack('f', yaw) 
            accData8 = pack('I', internalTimestamp) 
            accData9 = pack('I', ValidData) 
            accData10 = pack('q', msInfile) 
 
            output_file.write(accData2) 
            output_file.write(accData3) 
            output_file.write(accData4) 
            output_file.write(accData5) 
            output_file.write(accData6) 
            output_file.write(accData7) 
            output_file.write(accData8) 
            output_file.write(accData9) 
            output_file.write(accData10) 
            count += 1 

这是我的代码,我将来自两个不同 csv 文件的数据打包到一个二进制文件中。

请您参考如下方法:

如果您想要 unix 格式的日期时间。

import datetime 
import time 
s = "2018-05-23-13:54:56.594000" 
 
d = datetime.datetime.strptime(s, "%Y-%m-%d-%H:%M:%S.%f") 
print(time.mktime(d.timetuple())) 

输出:

1527063896.0