嗨我在文本文件列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
任何帮助/指示将不胜感激!谢谢,
答案 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
不是有效的八进制表示。