【发布时间】:2014-03-13 07:24:09
【问题描述】:
我有一个包含不同数据的 dat 文件。该文件有不同的数字,排列在 7 列中,用两个空格分隔。是否可以使用数组读取和提取每列的数据并将数据分配给字典中的键。是否可以将 numpy 数组分配为字典中键的值?
dat.file 有这样的数字:
1 -0.8 92.3 2.8 150 0 0
2 -0.7 99.3 1.9 140 0 0
3 -0.3 96.4 2.5 120 0 0
4 -0.3 95.0 3.1 130 0 0
5 -0.8 95.7 3.1 130 0 0
6 -0.5 95.0 2.1 120 0 0
7 -0.7 90.9 3.6 110 0 0
8 -0.6 85.7 2.6 80 0 0
9 -0.7 85.7 3.1 60 0 0
10 -1.2 85.6 3.6 50 0 8
我首先阅读了所有行,然后我用空格作为分隔符来分割每一行的值。我试图将每列中的值分配给字典中的相应键,但这不起作用。我想我必须将值放入数组中,然后以某种方式将数组放入字典中?
def read_data(filename):
infile = open(filename, 'r')
for line in infile.readlines():
data = {'hour': None, 'temperature': None, 'humidity':
None, 'wind_speed':
None, 'wind_direction':
None, 'direct_flux': None, 'diffuse_flux': None}
lines = line.split()
data['hour'] = lines[0]
data['temperature'] = lines[1]
data['humidity'] = lines[2]
data['wind_speed'] = lines[3]
data['wind_direction'] = lines[4]
data['direct_flux'] = lines[5]
data['diffuse_flux'] = lines[6]
return data
【问题讨论】:
-
尝试读取文件,然后transpose
-
请展示您的尝试,以及文件示例
-
短答案是,长答案取决于您的代码和数据格式。假设数据是规则的并且格式一致,那么是的,它可以被解析并且创建一个 dict 或 numpy 数组是微不足道的
-
请给出一个示例 dat 文件,其中包含您要提取的数据和您期望的相关字典。
-
没有一个答案让你满意吗?如果是这种情况,你能解释一下你需要什么吗? :)
标签: python arrays numpy dictionary