制作字典时出现无效的令牌错误

时间:2014-09-22 18:24:30

标签: python-2.7 dictionary

嗨我在文本文件列1中有两组列是yyyy-mm-dd而column2是沉淀。我想仅从4月到8月提取降水值。为了得到这个,我分割线并从第1列中仅提取月份。然后尝试为月份和降水制作字典并使用if语句匹配月份并在空数组中附加相应的降水值。

在执行此操作时,我在以下代码中的月份== 08的if语句中收到“无效令牌”错误:

代码:

file1 = open("test.txt","r")

Growing-period=[]
Intermediate-period=[]
Dormant-period=[]
for line in file1:
  line2 = line.split()
  WQ = line2[1]
  month = line2[0].split("-")[1]
  dct1={month:WQ}
  for k,v in dct1.item():
     if (month==04 or month==05 or month==06 or month==07 or month==08):
        Growing-period.append(dct[v])
     print Growing-period

任何帮助/指示将不胜感激!谢谢,

1 个答案:

答案 0 :(得分:1)

你不需要左边的零来比较数字。

您可以替换

if (month==04 or month==05 or month==06 or month==07 or month==08):

if month in (4,5,6,7,8):

根据this回答,前面的零会将您的数字转换为八进制,从而导致语法错误,因为08不是有效的八进制表示。