У меня есть psv-файл для некоторых настроек моей программы, и он выглядит очень плохо. Когда я сохраняю эту конфигурацию из kdb, она удаляет все пробелы и выглядит так:
column1|column2|column3
somevalue1|somevalue2|somevalue3
somevalue4|somevalue5|somevalue6
и я хочу, чтобы это выглядело так, когда я открываю его с помощью текстового редактора, такого как блокнот или визуальный код студии
column1 |column2 |column3
somevalue1 |somevalue2 |somevalue3
somevalue4 |somevalue5 |somevalue6
В этом psv-файле 20000 строк, поэтому, пожалуйста, не говорите мне, что я должен делать это вручную.
Причина, по которой мне нужно сделать этот интервал, заключается в том, что иногда моим коллегам нужно открыть его, чтобы изменить только одну вещь, и с этим интервалом он намного удобнее для чтения.
Я работаю в Linux и знаю kdb, python и R, так что что-нибудь на этих языках может мне помочь?
Это довольно грубо, но эта функция q возьмет существующий файл psv и дополнит его:
pad:{m:max each count@''a:flip"|"vs/:read0 x;x 0:"|"sv/:flip m$a}
Он работает, беря максимальную длину строки каждого столбца и дополняя остальные значения до той же ширины, используя $
. Затем столбцы снова сшиваются и сохраняются.
Взяв этот пример содержимого файла:
column1|column2|column3
somevalue1|somevalue2|somevalue3
somevalue4|somevalue5|somevalue6
somevalue7|somevalue8|somevalue9
Прохождение через площадку в открытом сеансе q:
pad `:sample.psv
Дает результат:
column1 |column2 |column3
somevalue1|somevalue2|somevalue3
somevalue4|somevalue5|somevalue6
somevalue7|somevalue8|somevalue9
любить это . Я также написал кое-что, что намного длиннее, чем это, но немного более удобно для пользователя. Я также опубликую свое решение здесь, если у меня будет немного времени, чтобы правильно отформатировать его.
Альтернативой может быть использование расширения в вашем редакторе, например. для VS Code marketplace.visualstudio.com/…, который добавляет кнопку «выравнивания» в нижнюю панель при редактировании файлов с разделителями