Компьютеры

Как конвертировать файлы XLS и JSON в CSV в Linux с помощью csvkit

Я не могу сказать вам, сколько раз мне приходилось работать, чтобы загрузить данные в новую систему (будь то CMS, CRM, HRM… что угодно), только чтобы узнать, что платформа не принимает файл формат, который у меня был. У вас может быть электронная таблица или файл JSON с огромным количеством данных, но система принимает только файл CSV.CSV.

Вы знаете, что это такое: значения, разделенные запятыми. Это плоский файл данных, каждая запись которого разделена запятой. Некоторые приложения теперь позволяют экспортировать файл в формат CSV. Даже Google Docs допускает такое действие с Sheets. Но не все приложения могут обрабатывать этот экспорт. И у вас может быть файл, созданный другим приложением (например, приложением или службой, которые генерируют файлы JSON), и вам нужно преобразовать этот файл в формат CSV.

Кем вы работаете?

Поскольку у нас есть Linux, он обращается к простому инструменту с открытым исходным кодом под названием csvkit. Это удобное приложение несколько раз сэкономило мне несколько часов работы. Что может csvkit, так это конвертировать и работать с CSV. Если вы когдалибо занимались разработкой или внедряли достаточное количество сетевых платформ (таких как инструменты CMS), то, скорее всего, вы сталкивались с ситуацией, когда вам нужно выгружать данные в формате CSV.

пссст: Как настроить SSH для использования нестандартного порта с SELinux, установленным для принудительного

И все, что у вас есть, это файл электронной таблицы.

Если вы работаете на настольном компьютере, вы всегда можете открыть файл в выбранном вами офисном пакете и сохранить как. Но что, если вы находитесь на безголовом сервере и вам нужно работать быстро? Вам не нужно проверять файл на рабочем столе, загружать файл, сохранять его в нужном формате, а затем отправлять файл обратно на сервер.

Вы хотите быть эффективным. Поэтому csvkit.

Давайте установим его и посмотрим, как он работает.

что тебе понадобится

Я буду демонстрировать csvkit на Ubuntu Server 21.10. Чтобы это работало, вам понадобится дистрибутив на основе Ubuntu и пользователь с привилегиями sudo. Наконец, вам понадобится файл электронной таблицы для преобразования.

Как установить ксвкит

Csvkit доступен в стандартных репозиториях, поэтому установка очень проста. Войдите на свой сервер Ubuntu (или рабочий стол), откройте окно терминала и введите команду:

sudo aptget install csvkit y

Вот и все для установки.

Как преобразовать файл XLS в CSV

Допустим, у вас есть файл client.xlsx, и вам нужно преобразовать его в client.csv, а затем загрузить его как список клиентов в ваш новый инструмент CRM. Электронная таблица уже разработана в точном формате, необходимом для вашей CMS, поэтому все, что вам нужно сделать, это преобразовать ее.

Для такого преобразования вы должны использовать команду in2csv (включенную в csvkit) следующим образом:

in2csv clients.xlsx > clients.csv

Если у вас есть неименованные столбцы или строки в исходном файле, вы можете увидеть некоторые выходные данные команды, предупреждающие о том, что вместо отсутствующих записей использовались буквенноцифровые значения. Преобразование должно занять всего несколько секунд (в зависимости от размера файла). После завершения у вас должен быть файл с именем client.csv в той же папке. Вы можете проверить этот файл с помощью:

less clients.csv

Вы должны увидеть идеально отформатированный CSVфайл, готовый к загрузке (Рисунок А).

Рисунок А

пссст: Как установить дистрибутив BackBox Linux в качестве виртуальной машины
csvkita.jpg

Наш файл CSV, экспортированный из xlsx с помощью in2csv.

То же самое касается преобразования файла JSON, который обрабатывается следующим образом:

in2csv clients.json > clients.csv

Если вам нужно преобразовать этот файл из CSV в JSON, вы можете сделать это с помощью команды csvjson следующим образом:

csvjson clients.csv > clients.json

У Csvkit есть пара других полезных трюков в рукаве. Вы можете перечислить имена столбцов в файле с помощью:

cvscut n clients.csv

Теперь, когда вы знаете имена столбцов только что преобразованного источника CSV, вы можете преобразовать только определенные столбцы из файла client.csv в другой файл CSV. Допустим, у вас есть столбцы «Имя» и «Фамилия», и вы хотите, чтобы только эти столбцы были преобразованы в новый файл. Это будет сделано с помощью:

csvcut c 'First Name','Last Name' clients.csv > names.csv

И вот как мы можем манипулировать файлами XLS, JSON и CSV с помощью csvkit. Этот инструмент может использоваться не очень часто, но когда он вам понадобится, вы будете рады, если он будет доступен.

Related Articles

Back to top button