我有以下数据文件:
0.0 2453.4645 4906.929 7360.3935 9813.858 12267.3225 14720.787 17174.2515 19627.716 22081.1805 24534.645 26988.1095 29441.574 31895.0385 34348.503 36801.9675
以二进制形式。
我需要将其读入 8 个列表 a、b、c、d、e、f、g、h,每个列表有 3 个元素,. 即我需要保存在每个变量中的元素 1-8 ,然后是 9-16 ,依此类推。
我有以下代码:
# Python code to read binary data
from struct import *
import numpy as np
readfile = open('bigdata.dat')
readfile_data = readfile.read()
type(readfile_data)
a = len(readfile_data)
print a
e = unpack('18d',readfile_data[0:8*18])
field_names = ('a','b','c','d','e','f')
hg = dict(zip(field_names,e))
print hg
我得到的是一个字典,每个字典值都有一个元素:
{'a': 0.0, 'c': 4906.929, 'b': 2453.4645, 'e': 9813.858, 'd': 7360.3935, 'f': 12267.3225}
我如何在 Python 中做到这一点(最好是 2.7,但也欢迎使用 3)?我假设我必须在整个列表中遍历这些字典字段名称,但我不知道如何..