- С чего начать
- Документация
- Документация
- Content
- Content
- Что такое CSV-файл
- Пример CSV-файла
- Как создать CSV-файл
- Чем открывать и редактировать CSV-файл
- Как правильно сохранить CSV-файл
- Как проверить формат CSV-файла
- как создать файл CSV в Linux с разными листами
- как создать файл CSV в Linux с разными листами
- 2 ответа
- Как создать файл в терминале
- 1. Редактор nano
- 2. Редактор Vi
- 3. Оператор перенаправления >
- 4. Оператор перенаправления вывода >>
- 5. Оператор перенаправления 2>
- 6. Оператор перенаправления и head
- 7. Команда cp
- 8. touch
- 9. Утилита dd
- Создание специальных файлов в 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 (для России).
Для того что бы сохранить файл в формате 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):
Для выбора листов:
Поскольку для «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.
Ещё тем же способом можно сделать примитивный текстовый редактор для создания файла. Утилита 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. Если вы знаете другие, которые следовало бы добавить в статью — поделитесь в комментариях.
Источник