我有两个列的文本文件: 1)列1是yyyy dd格式,2列是沉淀。
目的:仅从第2列提取4、5、6、7、8月份(4、5、6、7、8)的降水原值。
过程:使用line.split只从yyyy格式从列-1中提取mm。
问题:I可以成功地从字典项目中打印k,v(月和降水量)。但是,当我使用if语句提取特定月份的降水值时,我将得到空白数组。我在想我能不能用.append来获得(1.8,2.1,3.3)格式的降水。
代码:
file1 = open("test.txt","r")
Growing=[]
Intermediate=[]
Dormant=[]
for line in file1:
line2 = line.split()
WQ = line2[1]
month = line2[0].split("-")[1]
dct1={month:WQ}
for k,v in dct1.items():
if (k ==4 or k==5 or k==6 or k==7 or k==8):
Growing.append(dct1 [k])
print Growing发布于 2014-09-23 15:46:15
一个更明显的结构是一本清单字典:
data = collections.defaultdict()在循环中
data.setdefault( month,[]).append( WQ )然后,您可以按键访问每个月的数据。
也许一个更简单的方法是使用numpy.loadtxt,
map = {'jan':1,'feb':2,'mar':3,'apr':4,'may':5} # and the rest
data = numpy.loadtxt("test.txt",dtype = dtype([('month','S4'),('WQ',float)]))然后选择
data[data['month']=='apr']['WQ']https://stackoverflow.com/questions/25998539
复制相似问题