csv_file = open(path, encoding = 'utf-8') csv_reader = csv.reader(csv_file)
Допустим в файле такие две строки:
FIRST_DATA, SECOND_DATA
THIRD_DATA, FOURTH_DATA
for row_from_csv in csv_reader: print (row_from_csv)
['\ufeffFIRST_DATA', 'SECOND_DATA''] ['THIRD_DATA', 'FOURTH_DATA']
Что это за ‘\ufeff’?
Почему это значение прицепляется к первому значению из первой строки csv-файла?
Причём, если в первом print попытаться вывести не весь список,
а только первый элемент
print (row_from_csv[0])
FIRST_DATA
якобы без мусора в начале.
Долго же я мучился, пытаясь сверить первый элемент первого списка со значением “FIRST_DATA”, а получалось, что
print (row_from_csv[0], " == FIRST_DATA", row_from_csv[0] == 'FIRST_DATA')
FIRST_DATA == FIRST_DATA False
Это какой-то косяк csv.reader? Может, я чего-то не знаю и что-то упускаю? Как избавиться от этого \ufeff?