如何从文本文件中添加部分行

时间:2015-03-18 17:16:05

标签: python file text

我要求在这个特定问题上做的是从文本文件(天气数据)中删除值,我可以这样做,然后将每行的数字24-26相加(在天气数据中,数字24- 27表示当天的总降水量)。这是我到目前为止所拥有的。

inputFilename="weather.dat"
inputFile=open(inputFilename, "r")
for line in inputFile:
    line=line.strip()
    for item in line:
        q=0
        q=int(line[24:27])
        total=q+q
print("total precipitation: ",total)

我绝不是专家。跑完之后我得到1120的答案,当我得到3164的答案时,我真的想不出从这里去的地方。

2 个答案:

答案 0 :(得分:1)

line[24:27]表示三个字符,索引为24,25和26的字符。在Python中,"右侧边界排除"是常态。

不清楚你的意思是"数字24-27" (包含或排除上限?IOW,是三个字符,还是四个?)但如果您的意思是"上限包括",只需将切片更改为line[24:28]

答案 1 :(得分:0)

看起来你正在循环中定义total=q+q。这将一遍又一遍地将每行的值(实际上是值的两倍)分配给total,而不是维持一个运行总计。

此外,我不确定我理解你为什么要for item in line。这将迭代每行中的每个字符。如果你知道沉降将在line[24:27],那么你可以迭代每一行并添加这些数量,而不是遍历每一行然后遍历每个字符。它不必要地重复工作。