import csv dialect = csv.Sniffer()
Класс Sniffer()
модуля csv
используется для определения формата файла CSV.
csv.Sniffer()
предоставляет два метода.sniff(sample, delimiters=None)
:Метод sniff()
анализирует образец строки sample
CSV файла и возвращает подкласс csv.Dialect
, отражающий найденные параметры.
Если задан необязательный параметр разделителей delimiters
, он интерпретируется как строка, содержащая возможные допустимые символы разделителей.
has_header(sample)
:Метод has_header()
анализирует образец текста sample
, предположительно в формате CSV и возвращает True
, если первая строка представляет собой последовательность заголовков столбцов.
with open('example.csv', newline='') as csvfile: # читаем первую строку dialect = csv.Sniffer().sniff(csvfile.read(1024)) # во избежании потерь данных # переводим курсор на начало файла csvfile.seek(0) # получаем объект чтения reader = csv.reader(csvfile, dialect) # ... обрабатываем содержимое CSV файла ...