Python将特定行读取到Calc

时间:2018-04-22 23:48:19

标签: python math lines calc

我有一个带有数字的列表,我进行了一定的计算并且工作得很好,列表是一个文本文件" file.txt",其中有值(每行一个)。在每次计算/检查中,我使用两行,其中有许多行,下面是一个例子。

" file.txt的"

73649
38761
34948
47653
98746
59375
90251
83661

...更多行/数字

在这种情况下,我会使用第1行和第2行进行第一次计算,我希望它在使用第2行和第3行时为FALSE,如果为FALSE,则使用第3行和第4行,直到它为TRUE。

是否可以在Python中执行此操作? 谢谢你提前。

2 个答案:

答案 0 :(得分:0)

我想这段代码应该回答你的问题:

 SELECT A.Name
      , B.Address
      , B.City
      , C.Position
      , C.Salary
      , D.WorkTime as Time
   From Employee as A 
   Left Join EmployeeAddressInfo as B
     on A.EID = B.AddId
   Left Join EmployeeRoleInfo as C
     on A.EID = C.RoleID
   Left Join EmployeeTime as D
     on A.EID = D.TimeID
  where Position='Engineer'

离开循环时,(a,b)包含lst = [int(line) for line in open('bar.txt','r')] for n in range(len(lst)-1): a, b = lst[n], lst[n+1] if calculation(a,b): break else: a, b = None, None 函数返回True的对。如果对calculation的所有调用都返回False,则(a,b)替换为(None,None)

或者,当您的数据流式传输或无法完全存储在内存中时,您可以直接遍历流线:

calculation

答案 1 :(得分:0)

我认为这回答了你的问题:

(对于超过数百兆字节的超大文本文件,它不会非常有效)

def calc(x, y):

    # do your calculation here



file = open("file.txt", "r")

list = file.readlines()

file.close()

item = 0

while item < len(list) - 1:

    if calc(list[item], list[item + 1]) == false:

        item += 1

# once you have found the lines that output false, you can do whatever you 
# want with them with list[item] and list[item + 1]