Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  1. import csv
  2.  
  3. class Searchers:
  4. def get_text(self, path):
  5. f = open(path)
  6. text = f.readlines()
  7. f.close()
  8. return text
  9.  
  10. def print_csv(self, path):
  11. data = csv.reader(open(path, 'rU'), quotechar='"', delimiter = ',')
  12. for row in data:
  13. print row
  14.  
  15. def column(self, data, col_name):
  16. col = []
  17. if col_name in data[0]:
  18. number = data[0].index(col_name)
  19. for row in data:
  20. col.append(row[number])
  21. return col[1:]
  22.  
  23. def first_match(self, key, text):
  24. for line in text:
  25. if key in line:
  26. return line
  27.  
  28. def last_match(self, key, text):
  29. l = "NOT FOUND"
  30. for line in text:
  31. if key in line:
  32. l = line
  33. return l
  34.  
  35. def all_match(self, key, text):
  36. l = []
  37. for line in text:
  38. if key in line:
  39. l.append(line)
  40. return l
  41.  
  42. def first_match_lines(self, key, N, skip, text):
  43. for i, line in enumerate(text):
  44. if key in line:
  45. ind = i
  46. key_followers = []
  47. for _ in range(N):
  48. key_followers.append(text[ind + _ + skip + 1])
  49. return key_followers
  50.  
  51. def last_match_lines(self, key, N, skip, text):
  52. for i, line in enumerate(text):
  53. if key in line:
  54. ind = i
  55. key_followers = []
  56. for _ in range(N):
  57. key_followers.append(text[ind + _ + skip + 1])
  58. return key_followers
  59.  
  60. def all_match_lines(self, key, N, skip, text):
  61. all_key = []
  62. for i, line in enumerate(text):
  63. if key in line:
  64. ind = i
  65. key_followers = []
  66. for _ in range(N):
  67. key_followers.append(text[ind + _ + skip + 1])
  68. all_key.append(key_followers)
  69. return all_key
  70.  
  71. def ch_position(self, key, line):
  72. if key in line:
  73. return line.index(key)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement