如何在一列内执行数学运算?

时间:2018-12-02 23:11:02

标签: python

我有一个包含两行的文本文件,我需要使用Python从第1行的度量中减去第2行的度量。我知道我可以手动执行此操作,但是我的作业要求对其进行编码。理想情况下,我将打印此值-无需将其附加到表中。

ROW ID | Name | Measure
1 | Library | 3627
2 | Dorm | 725

到目前为止,这是我的代码:

uDistFile = open("T:\\Students\\kheuser\\semprojclean\\udistance.txt","r")
uBusStops = uDistFile.readlines()[1:]

for stop in uBusStops:
    aList = stop.split(",")
    print "measures are", aList[2]

1 个答案:

答案 0 :(得分:0)

您的文件采用的是DSV(Delimiter Separated Values的缩写)格式。 Python有一个名为csv的模块,可以读取其中的大多数样式。 (它的第一个字母是“ c”,因为传统上使用的分隔符是逗号。)

下面的代码使用它来执行所需的操作(并将处理任意数量的行):

import csv

filename = "udistance.txt"
column = "Measure"

with open(filename, newline="") as uDistFile:
    reader = csv.DictReader(uDistFile, delimiter="|", skipinitialspace=True)
    values = [int(row[column]) for row in reader]

print('values:', values)
print('total:', sum(values))

输出:

values: [3627, 725]
total: 4352