Как считать данные из файла csv, если не знаешь какой разделитель?

У меня есть файл с данными, но я не знаю какой там разделитель(кстати какие бывают разделители, я знаю про "," ";"), как считать данные ? Считываю при помощи pandas


Ответы (1 шт):

Автор решения: D.Vinogradov

чтобы определить разделитель используйте csv.Sniffer

import csv


def find_delimiter(path):
    sniffer = csv.Sniffer()
    with open(path) as fp:
        delimiter = sniffer.sniff(fp.read(5000)).delimiter
    return delimiter

Небольшие пояснения:

fp.read(5000) - указывается размер буфера, чтобы не читать весь файл. В данной случае 5000 байт, потому что этого достаточно, чтобы определить разделитель.

>>> find_delimiter('your_path_to_file/file.csv')
';'

оригинал ответа - SO

→ Ссылка