BlackFox
|
Posted: Wed Dec 14, 2022 03:34 Post subject: |
|
|
Destiny wrote: | Значит применяем приоритеты - для CSV с WIN окончанием строк надо допом считать региональные настройки - опцию "Разделитель элементов списка" и его применять. Для Русского языка это точка с запятой будет, для Иностранного чаще просто запятая будет, но некоторые языки так же точку с запятой используют. Поэтому и надо регион. настройки считывать. Для CSV с UNIX окончанием строк - это просто запятая. |
мои 5 копеек:
использую компьютеры с разными региональными настройками - немецкие и британские. При этом файлы CSV одни и те же - классические, сответствующие названию (Comma Separated Values, то есть разделитель - запятая). Вообще неудобно будет использовать региональные настройки - лучше где-нибудь в статус-баре переключение разделителя из нескольких возможных.
Комментарии во всех файлах, которые встречал - или точка с запятой, или хэш в начале строки.
@автор: есть пара мегких багов:
1. Если первая строка с заголовком содержит строки в кавычках, то кавычки в заголовке не показываются - замечательно. Но если формат файла UTF8+BOM, то кавычки в заголовке первой колонки остаются.
2. (Больше вопрос, чем баг): есть файл, в котором всё очень криво парсится - ни заголовка нет, ни деления по колонкам нормального. Начало файла:
Code: | Name,ShortName,ModeAndPID,Equation,Min Value,Max Value,Units,Header
Cruise control cancel reason history 1,CC off hist1,0x22251F,LOOKUP(INT16(B:A)::0='NO DATA':1='MAIN sw':2='BRAKE p':4='CLUTCHp':8='CANCELs':16='VSA/ABS':32='S/R+BRK':64='CANcomm':128='SPD OUT':256='IHCCcom':512='SPED er':1024='ACCL er':2048='1stGEAR' :4096='IHCCreq':8192='ENGN er':16384='SPED er':32768='IHCC er'),0,32768,,
Cruise control cancel reason history 2,CC off hist2,0x22251F,LOOKUP(INT16(D:C)::0='NO DATA':1='MAIN sw':2='BRAKE p':4='CLUTCHp':8='CANCELs':16='VSA/ABS':32='S/R+BRK':64='CANcomm':128='SPD OUT':256='IHCCcom':512='SPED er':1024='ACCL er':2048='1stGEAR' :4096='IHCCreq':8192='ENGN er':16384='SPED er':32768='IHCC er'),0,32768,, |
При этом сам файл рабочий (делался для программы на Андроиде, которая его корректно распарсила по запятым). Видимо, автоопределение разделителя считает количество знаков из возможных? После ручного переключения на запятую всё отображается корректно. |
|