Как считать данные из файла 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')
';'