Вы сталкиваетесь с очень простой и общей проблемой (поэтому, я думаю, именно поэтому вас понизили): в современных операционных системах файлы не печатаются: их содержимое представляет собой просто последовательность байтов, а их значениебайт задается приложениями (двоичный и текстовый текст в Windows по-прежнему является различием).Это важнейшее и основное свойство операционной системы маскируется приложением Desktop (Windows, Gnome, KDE, Finder, ...): я нажимаю файл «.csv», на рабочем столе открывается Calc (или Excel), я нажимаюна файл ".exe", и Windows запускает программу, но это просто условно.На уровне ОС содержимое файла - это всего лишь байты, не более того.Для этого есть очень веская причина: напечатанные файлы на уровне ОС помогут вам за одну неделю, и вам придется бороться с этим всю оставшуюся жизнь.
Вернемся к вашему вопросу: Python выиграл 'Я не могу решить, что ваш файл "xyz.csv" должен быть открыт с особой тщательностью.Он открывает файл и позволяет вам читать его как байты или символы, и вы должны обрабатывать содержимое самостоятельно.К счастью, Python поставляется с «батарейками внутри» и предоставляет модуль csv
для упаковки файла:
import csv
with open(path, 'r', encoding='...') as f: # set the encoding ofthe file, e.g. utf-8
reader = csv.reader(f) # you may set the delimiter, quote char, etc.
for row in reader:
... # do what you want with each row