为什么我不能在这个结构函数中使用迭代变量?

时间:2018-03-08 04:58:00

标签: python

我想将每个十六进制值转换为浮点值,我知道这个:

while x < 7000:
    pos.append(struct.unpack('!f', bytes.fromhex(l[x]))[0])
    x+=1

如果我使用数字而不是x,即l(1)而不是l(x),则有效 但是当我使用这段代码时:

df4=pd.read_csv('indexedData.log', low_memory=False)
df4
import struct

l=df4['3']

pos=[]
x=0
while x < 7000:
    pos.append(struct.unpack('!f', bytes.fromhex(l[x]))[0])
    x+=1
pos

我收到此错误:

    ---------------------------------------------------------------------------
    ValueError                                Traceback (most recent call last)
    <ipython-input-56-bede8a2bc9a3> in <module>()
          8 x=0
          9 while x < 7000:
    ---> 10     pos.append(struct.unpack('!f', bytes.fromhex(l[x]))[0])
         11     x+=1
         12 pos

ValueError: non-hexadecimal number found in fromhex() arg at position 1

0 个答案:

没有答案