string to int - error
我有一个看起来像这样的字符串:
1 | "2018-05-23-13:54:56.594000" |
当我尝试将其转换为int时,它给了我一个错误:
1 | ValueError: invalid literal for int() with base 10: '"2018-05-23-13:54:56.594000"' |
码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | 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格式。
1 2 3 4 5 6 | 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())) |
输出:
1 | 1527063896.0 |
这是因为字符串中包含非数字字符。 要使
在传递字符串之前,尝试使用
此外,您可能希望将日期时间转换为整数表示形式。 要做到这一点,请查看以前的问题!
该字符串不在基数10中。
它有短划线和其他不在基本10系统中的字符。
所以,python无法将其转换为int