У меня есть CSV-файл с 3 столбцами, и я хочу прочитать 1-й и 3-й столбцы как пару ключ-значение. Я делаю это, как показано ниже, но это не работает.
with open(dirName + fileName) as f: for line in f: (key, value) = line.split(',')
Я думаю, вы хотите что-то вроде:
with open(dirName + fileName) as f: for line in f: fields = line.split(',') assert len(fields) == 3 (key, _, value) = fields
Но, возможно, взгляните на модуль CSV.
Попробуйте это
with open(file,'r+') as text: for line in text.readlines(): (key, value) = line.split(',')
Каждый раз, когда вы работаете с CSV-файлами, используйте модуль csv . Как @ Buckeye14Guy говорит: вам также следует использовать pathlib для манипулирования путями. И, для быстрого поиска, вы можете хранить пары ключ-значение в словаре, d.
csv
pathlib
d
import csv, pathlib d = {} your_path = pathlib.PurePath(dirName).joinpath(filename) with open(your_path,'r') as f: reader = csv.reader(f) for line in reader: d[line[0]] = line[2] # dict entry with key = 1st col and value = 3rd col