Создать csv файл linux

С чего начать

Документация

Документация

Content

Content

Что такое CSV-файл

CSV (от англ. Comma-Separated Values — значения, разделённые запятыми) — текстовый формат, предназначенный для представления табличных данных. Строка таблицы соответствует строке текста, которая содержит одно или несколько полей, разделенных запятыми (wikipedia.org).

Другими словами, это текстовый файл, в котором содержится информация в виде отдельных строк, где каждая строка это отдельная запись (например об одном товаре). Разделителем ( delimiter ) значений колонок (разделитель полей CSV) является символ запятая (,) или точка с запятой (;).

Разделитель текста – значения, содержащие зарезервированные символы (двойная кавычка, запятая, точка с запятой, новая строка) обрамляются двойными кавычками (“). Если в значении встречаются кавычки — они представляются в файле в виде двух кавычек подряд.

Наименование полей CSV – первая строка файла обычно сдержит наименование CSV полей (колонок) для идентификации этих полей (колонок).

Пример CSV-файла

Исходный текст CSV-файла, где каждая строка это одна строка таблицы:

Представление в виде втаблицы если открыть в Apache OpenOffice Calc :

_ID_ _NAME_ _MODEL_ _PRICE_
28 “HTC Touch HD” “Product 1” 1750.0000
29 “Palm Treo Pro” “Product 2” 112.0000
30 “Canon EOS 5D” “Product 3” 113.0000

Что бы посмотреть содержимое CSV-файла его можно открыть в любом текстовом редакторе, например в Notepad++ (Как проверить формат CSV-файла) или в любом другом тестовом редакторе.

Как создать CSV-файл

Наиболее удобный и быстрый способ получить шаблон CSV-файла правильного формата – это сделать экспорт товаров через расширение CSV Price Pro import/export. Для этого в разделе Товары (eng. Products) перейдите на вкладку Экспорт (eng. Export). , выберите справа необходимые поля для экспорта и сделайте экспорт, в результате вы получите готовый для работы CSV-файл

Чем открывать и редактировать CSV-файл

Первое что нужно сделать, это скачать и установить офисный пакет Apache OpenOffice , в составе которого есть Apache OpenOffice Calc , приложение для электронных таблиц, позволяющее работать с файлами в формате CSV.

При открытии CSV-файла в приложении Apache OpenOffice Calc выберите параметры в соответствии с настройками как показано на скриншоте ниже:

  • Кодировка файла: Юникод (UTF-8)
  • Разделитель значений колонок (разделитель полей CSV): точка с запятой (;)
  • Разделитель текста и зарезервированных символов: двойная кавычка (“)
  • Поля в кавычках как текст – выбрать
  • Меню по правому клику мышки для определения типа колонки (всегда текстовое eng. Text )

Как правильно сохранить CSV-файл

Microsoft Excel умеет открывать CSV-файлы в кодировке Unicode (UTF-8) через импорт данных из файла… и пожалуй на этом можно остановиться!

Microsoft Excel не умеет сохранять CSV-файлы должным образом, при сохранении в Microsoft Excel, вы получите CSV-файл в зависимости от региональных настроек системы, обычно это разделитель табуляция или запятая и кодировка Windows-1251 (для России).

Читайте также:  Linux узнать модель озу

Для того что бы сохранить файл в формате CSV выберите Файл > Сохранить как .

В появившемся окне выбрать тип файла Текст CSV (.csv), установите “галочку” напротив появившегося внизу пункта Изменение настроек фильтра

Нажать кнопку Сохранить .

В открывшемся окне выберите вариант Использовать текущий формат

В открывшемся окне Экспорт в текстовый файл выберите:

  • Кодировка: Юникод (UTF-8)
  • Разделитель поля: точка с запятой (;)
  • Разделитель текста: двойная кавычка (“)
  • Текстовые значения в кавычках – выбрать

Нажать кнопку OK для сохранения.

Как проверить формат CSV-файла

CSV является простым и распространенным форматом для табличных данных, это простой текстовый файл, который cодержит текст без форматирования и имеет расширение CSV (.csv) вместо традиционного расширения TXT (.txt), такой файл может быть открыт любой программой для работы с текстом.

Вот неполный список приложений для открытия простых текстовых файлов .txt или .csv:

  • Microsoft Notepad (Windows)
  • Microsoft WordPad (Windows)
  • Helios TextPad (Windows)
  • Notepad++ (Windows)
  • Notepad2 (Windows)
  • Geany (Windows, Mac, Linux)
  • Apple TextEdit (Mac)
  • Apple Pages (iOS)
  • Leafpad (Linux)
  • gedit (Linux)
  • KWrite (Linux)

Источник

как создать файл CSV в Linux с разными листами

в Linux легко создавать CSV файл:

он создаст файл CSV (лист 1)

но возможно ли создать второй или третий или более листы в CSV файле?

например (я хочу создать второй лист 2)

примечание — я использую скрипты bash на моей машине linux

Вы не можете. Формат файла CSV не поддерживает несколько листов.

Ответ зависит от того, какой инструмент вы собираетесь использовать для отображения/редактирования файла в виде отдельных листов. Например, вы можете создать файл CSV, например:

и тогда вы можете использовать такой скрипт (GNU awk для multi-char RS):

для выбора листов:

Поскольку для CSV нет никакой спецификации, вы все равно можете сказать, что это «CSV», но в этом случае я бы назвал инструмент, который вы используете, для просмотра его как отдельных листов, например, «foo» и использовать «.foo» вместо «csv» в качестве суффикса. Как MS делает с «Excel» и «.xls».

Вы можете использовать любую последовательность символов, которые вам нравятся, с таким количеством полей, как вы, чтобы указать разделитель листов, например:

Эта вторая выше — пустая строка. Дело в том, что разделение на листы имеет смысл только в контексте любого инструмента, который вы используете для отображения/редактирования этих листов, и вы полностью контролируете, что такое разделитель, поскольку вы будете писать инструмент, который его использует. Это просто некоторая строка, которая, как вы знаете, не может выглядеть естественным образом в остальной части вашего файла.

Источник

как создать файл CSV в Linux с разными листами

В Linux легко создать файл CSV как:

Он создаст файл CSV (лист 1)

Но можно ли создать в файле CSV второй, третий или несколько листов?

Например (теперь я хочу создать второй лист — лист 2)

Замечание — я использую сценарии bash на моей машине Linux

2 ответа

Вы не можете. Формат файла CSV не поддерживает несколько листов.

Ответ зависит от того, какой инструмент вы собираетесь использовать для отображения / редактирования файла в виде отдельных листов. Например, вы можете создать файл CSV, например:

А затем вы можете использовать такой сценарий (GNU awk для multi-char RS):

Читайте также:  Полноэкранный режим windows как убрать

Для выбора листов:

Поскольку для «CSV» нет единой спецификации, вы все равно можете сказать, что это «CSV», но в этом случае я бы назвал инструмент, который вы используете для просмотра его в виде отдельных листов, чем-то вроде «foo» и использовал бы «.foo» вместо суффикс «csv». Как MS с Excel и .xls.

Вы можете использовать любую последовательность символов, которая вам нравится, с любым количеством полей, чтобы указать разделитель листов, например:

Второй выше — пустая строка. Дело в том, что разделение на листы имеет смысл только в контексте любого инструмента, который вы используете для отображения / редактирования этих листов, и вы полностью контролируете, что такое разделитель, поскольку вы будете писать инструмент, который его использует. Это просто должна быть какая-то строка, которая, как вы знаете, не может естественным образом появиться в остальной части вашего файла.

Источник

Как создать файл в терминале

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

Конечно, всё очень просто делается с помощью мышки и файлового менеджера. Но если вы дружите с клавиатурой, создать файл через терминал Linux намного быстрее и, как вы увидите, эффективнее. В терминале вы можете не только создавать пустые файлы, но и создавать файл с уже готовым содержимым, файлы определённого размера, и с нужными метаданными.

Как всё это делать, вы узнаете из этой статьи. Мы рассмотрим все доступные средства создания файлов в терминале Linux. Поехали!

1. Редактор nano

Самый распространённый способ создать текстовый файл в Linux — это использовать консольные текстовые редакторы. Например nano. После ввода команды открывается редактор, и вы прописываете нужный текст, например:

2. Редактор Vi

Тот же принцип, но программа намного серьёзнее:

Если вы в первый раз столкнулись с vim, то предупрежу — это необычный редактор. Здесь есть два режима: режим вставки и командный. Переключаться между ними можно с помощью кнопки Esc. Для выхода из редактора в командном режиме наберите :q, для сохранения файла — :w. Вообще, Vim — очень полезный инструмент. Чтобы узнать побольше о его возможностях и выучить основы, выполните: vimtutor.

Понятное дело, в этом пункте можно говорить и о других редакторах, в том числе и с графическим интерфейсом. Но мы их опустим и перейдём к другим командам создания файла в Linux.

3. Оператор перенаправления >

Это, наверное, самая короткая команда для создания файла в Linux:

Оператор оболочки для перенаправления вывода позволяет записать вывод любой команды в новый файл. Например, можно подсчитать md5 сумму и создать текстовый файл в Linux с результатом выполнения.

Это рождает ещё несколько способов создания файла в Linux, например, выведем строку в файл с помощью команды echo:

echo «Это строка» > файл.txt

Этот способ часто используется для создания конфигурационных файлов в Linux, так сказать, на лету. Но заметьте, что sudo здесь работать не будет. С правами суперпользователя выполниться echo, а запись файла уже будет выполнять оболочка с правами пользователя, и вы всё равно получите ошибку Access Denied.

Читайте также:  Операционная система windows доклад по информатике

Ещё тем же способом можно сделать примитивный текстовый редактор для создания файла. Утилита cat без параметров принимает стандартный ввод, используем это:

После выполнения команды можете вводить любые символы, которые нужно записать в файл, для сохранения нажмите Ctrl+D.

А ещё есть утилита printf, и здесь она тоже поддерживает форматирование вывода:

printf «Это %d текстовая строка\n» 1 > файл

Этот способ создать файл в Linux используется довольно часто.

4. Оператор перенаправления вывода >>

Также можно не только перезаписывать файл, а дописывать в него данные, с помощью перенаправления оператора >>. Если файла не существует, будет создан новый, а если существует, то строка запишется в конец.

echo «Это текстовая строка» > файл.txt
$ echo «Это вторая текстовая строка» >> файл.txt

5. Оператор перенаправления 2>

Первые два оператора перенаправления вывода команды в файл использовали стандартный вывод. Но можно создать файл в терминале Ubuntu и перенаправить в него вывод ошибок:

Если команда не выдает ошибок, файл будет пустым.

6. Оператор перенаправления и head

С помощью команды head можно выбрать определённый объем данных, чтобы создать текстовый файл большого размера. Данные можно брать, например, с /dev/urandom. Для примера создадим файл размером 100 мегабайт:

base64 /dev/urandom | head -c 100M > файл

7. Команда cp

Команда cp используется для копирования файлов в Linux. Но с её помощью можно и создать файл. Например, чтобы создать пустой файл, можно просто скопировать /dev/null:

cp /dev/null файл

8. touch

Вот мы и подобрались к непосредственному созданию файлов через терминал, для этого в Linux есть специальная утилита touch. Она позволяет создать пустой файл в Linux, при этом указывать дату создания, права доступа и другие метаданные.

Чтобы создать пустой файл Linux, просто наберите:

Можно создать несколько пустых файлов сразу:

touch файл1 файл2

Опция -t позволяет установить дату создания. Дата указывается опцией -t в формате YYMMDDHHMM.SS. Если не указать, будет установлена текущая дата. Пример:

touch -t 201601081830.14 файл

Можно использовать дату создания другого файла:

touch -r шаблон файл

Также можно установить дату последней модификации, с помощью опции -m:

touch -m -t 201601081830.14 файл

Или дату последнего доступа:

touch -a -t 201601081830.14 файл

Чтобы посмотреть, действительно ли задаётся информация, которую вы указали, используйте команду stat:

9. Утилита dd

Это утилита для копирования данных из одного файла в другой. Иногда необходимо создать файл определённого размера в Linux, тогда можно просто создать его на основе /dev/zero или /dev/random, вот так:

dd if=/dev/zero of=

Параметр if указывает, откуда брать данные, а of — куда записывать, count — необходимый размер. Ещё можно указать размер блока для записи с помощью bs, чем больше размер блока, тем быстрее будет выполняться копирование.

Создание специальных файлов в Linux

В Linux, кроме выше рассмотренных обычных текстовых и бинарных файлов, существуют ещё и специальные файлы. Это файлы сокетов и туннелей. Их нельзя создать обычными программами, но для этого существуют специальные утилиты, смотрите подробнее в статье, ссылку на которую я дал вверху.

Выводы

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

Источник

Оцените статью