Я очень новичок в кодировании, поэтому, пожалуйста, потерпите меня. По сути, я пишу программу, которая будет запрашивать либо фамилию, либо идентификационный номер, затем искать слово в файле .csv и возвращать весь столбец, к которому он принадлежит. Ниже приведено то, что я написал, если пользователь выбирает поиск по идентификатору.
method = input("Search by invoice id (id) or customer last name (lname)?: ")
data = "data.csv"
dataFile = open(data, "r")
dataRows = dataFile.readlines()
if method == "id":
term = input("Enter the id: ")
for line in dataRows:
row = line.strip()
newRow = row.split('\n')
if term == newRow[0]:
print(newRow)
else:
print("No matches found.")
Это CSV-файл:
Вот как он печатается после readlines ():
['invoice id,first name,last name,part number,quantity,total']
['111,Jim,Morrison,27,1,50.25']
['222,Ray,Manzarek,25,2,64.46']
['333,John,Densmore,16,4,34.34']
['333,Robby,Krieger,32,2,34.34']
['555,Jim,Morrison,12,4,43.34']
['333,Jim,Morrison,35,2,34.76']
['888,John,Densmore,63,2,34.76']
['111,Robby,Krieger,21,1,64.45']
['458,Freddie,Mercury,32,4,45.23']
['111,Freddie,Mercury,21,1,46.2']
['234,Allie,McGuire,43,3,64.45']
['675,Allie,McGuire,32,4,45.23']
['359,Freddie,Mercury,423,2,34.34']
Поскольку идентификатор счета-фактуры является первым столбцом, я подумал, что его можно найти с помощью if term == newRow [0], но это не работает. Какие-нибудь советы? Большое спасибо.