Как получить csv файл с другого сайта

Обновлено: 06.07.2024

Импортировать данные из текстового файла в Excel можно двумя способами: открыть их в Excel или импортировать как диапазон внешних данных. Чтобы экспортировать данные из Excel в текстовый файл, воспользуйтесь командой Сохранить как и измените тип файла в меню.

Чаще всего используются два формата текстовых файлов:

текстовые файлы с разделителями (TXT), в которых для разделения полей текста обычно используется знак табуляции (знак ASCII с кодом 009);

текстовые файлы с разделителями-запятыми (CSV), в которых в качестве разделителя полей текста обычно используется запятая (,).

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

Примечание: Можно импортировать и экспортировать до 1 048 576 строк и 16 384 столбцов.

Импорт текстового файла путем его открытия в Excel

Текстовый файл, созданный в другой программе, можно открыть как книгу Excel с помощью команды Открыть. При открытии текстового файла в Excel его формат не изменяется — это можно заметить по заголовку окна Excel, где имя указывается с расширением текстового файла (например, TXT или CSV).

Перейдите в >открыть и перейдите в папку с текстовым файлом.

В диалоговом окне Открытие выберите текстовые файлы в списке тип файла.

Найдите нужный файл и дважды щелкните его.

Если это текстовый файл (с расширением ТХТ), запустится мастер импорта текста. Окончив работу с мастером, нажмите кнопку Готово, чтобы завершить импорт. Дополнительные сведения о разных вариантах и дополнительных параметрах см. в мастере импорта текста.

Если файл имеет расширение CSV, Excel автоматически откроет его и отобразит данные в новой книге.

Примечание: При открытии CSV-файлов для определения способа импорта каждого столбца используются заданные по умолчанию параметры форматирования данных. Если вы хотите применить другие параметры, используйте мастер импорта текста. Например, мастер потребуется, если столбец данных в CSV-файле имеет формат МДГ, а в Excel по умолчанию используется формат ГМД или необходимо преобразовать в текст столбец чисел, содержащих начальные нули, чтобы сохранить их. Чтобы принудительно запустить мастер импорта текста, можно изменить расширение имени файла с CSV на TXT или импортировать текстовый файл путем подключения к нем (дополнительные сведения см. в следующем разделе).

Импорт текстового файла путем подключения к нем (Power Query)

Вы можете импортировать данные из текстового файла в существующий.

На вкладке Данные в группе & преобразование данных выберите из текстового/CSV-документа.

В диалоговом окне Импорт данных найдите и дважды щелкните текстовый файл, который нужно импортировать,и нажмите кнопку Импорт.

В диалоговом окне предварительного просмотра есть несколько вариантов:

Выберите Загрузить, если вы хотите загрузить данные непосредственно на новый.

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

Выберите Преобразовать данные, если вы хотите загрузить данные в Power Query и отредактировать их перед их преобразованием в Excel.

Если Excel не преобразует определенный столбец данных в нужный формат, их можно преобразовать после импорта. Дополнительные сведения см. в статьях Преобразование чисел из текстового формата в числовой и Преобразование дат из текстового формата в формат даты.

Экспорт данных в текстовый файл путем его сохранения

Лист Excel можно преобразовать в текстовый файл, используя команду Сохранить как.

Выберите Файл > Сохранить как.

В диалоговом окне Сохранить как в поле Тип файла выберите формат текстового файла для этого документа. Например, щелкните Текст (с табу женой) или CSV (сзапятой).

Примечание: Различные форматы текстовых файлов поддерживают разные возможности. Дополнительные сведения см. в статье Поддерживаемые Excel форматы файлов.

Перейдите в папку, куда вы хотите сохранить файл, а затем нажмите кнопку Сохранить.

Откроется диалоговое окно с напоминанием о том, что в текстовом файле будет сохранен только текущий лист. Если вы хотите сохранить именно текущий лист, нажмите кнопку ОК. Другие листы можно сохранить в отдельных текстовых файлах, повторив эту процедуру для каждого из них.

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

Дополнительные сведения о сохранении файлов в других форматах см. в статье Сохранение книги в другом формате файла.

Импорт текстового файла путем подключения к нему

Вы можете импортировать данные из текстового файла в существующий.

Щелкните ячейку, в которую вы хотите поместить данные из текстового файла.

На вкладке Данные в группе Получение внешних данных нажмите Из текста.

В диалоговом окне Импорт данных найдите и дважды щелкните текстовый файл, который нужно импортировать,и нажмите кнопку Импорт.

Следуйте инструкциям мастера импорта текста. Щелкните на любой странице мастера импорта текста, чтобы получить дополнительные сведения об использовании мастера. Окончив работу с мастером, нажмите кнопку Готово, чтобы завершить импорт.

В диалоговом окне Импорт данных:

В группе Куда следует поместить данные? выполните одно из следующих действий:

Чтобы поместить данные в выбранные ячейки, щелкните На существующий лист.

Чтобы поместить данные в верхний левый угол нового листа, выберите вариант На новый лист.

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

Excel добавит диапазон внешних данных в указанное место.

Если Excel не преобразует столбец в необходимый формат, это можно сделать после импорта. Дополнительные сведения см. в статьях Преобразование чисел из текстового формата в числовой и Преобразование дат из текстового формата в формат даты.

Экспорт данных в текстовый файл путем его сохранения

Лист Excel можно преобразовать в текстовый файл, используя команду Сохранить как.

Выберите Файл > Сохранить как.

Откроется диалоговое окно Сохранение документа.

В поле Тип файла выберите формат текстового файла для листа.

Например, выберите Текстовые файлы (с разделителями табуляции) или CSV (разделители — запятые).

Примечание: Различные форматы текстовых файлов поддерживают разные возможности. Дополнительные сведения см. в статье Поддерживаемые Excel форматы файлов.

Перейдите в папку, куда вы хотите сохранить файл, а затем нажмите кнопку Сохранить.

Откроется диалоговое окно с напоминанием о том, что в текстовом файле будет сохранен только текущий лист. Если вы хотите сохранить именно текущий лист, нажмите кнопку ОК. Другие листы можно сохранить в отдельных текстовых файлах, повторив эту процедуру для каждого из них.

Откроется второе диалоговое окно с напоминанием о том, что сохраняемый лист может содержать возможности, которые не поддерживаются текстовыми форматами файлов. Если в новом текстовом файле нужно сохранить только данные листа, нажмите кнопку Да. Если вы не уверены и хотите получить дополнительные сведения о том, какие возможности Excel не поддерживаются форматами текстовых файлов, нажмите кнопку Справка.

Дополнительные сведения о сохранении файлов в других форматах см. в статье Сохранение книги в другом формате файла.

Изменение деления, используемого при импорте текстового файла

Способ изменения деления при импорте зависит от того, как вы импортируете текст.

Если вы используете get & Transform Data > From Text/CSV, после выбора текстового файла и нажатия кнопки Импорт выберитесимвол, который нужно использовать в списке . Новый вариант можно сразу же увидеть в окне предварительного просмотра данных, чтобы убедиться в том, что вы сделаете нужный вариант, прежде чем продолжить.

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

Дополнительные сведения о разных вариантах и дополнительных параметрах см. в мастере импорта текста.

Изменение стандартного разных списков для сохранения файлов в виде текста (CSV- или CSV-файла) в Excel

Если при сохранение в CSV-окне вы хотите использовать в качестве по умолчанию полу двоеточие, но для этого нужно ограничиться Excel, измените десятичной запятой. В этом случае Excel будет использовать для этого двоеточие. Очевидно, что это также изменит способ отображения десятичных чисел, поэтому также рассмотрите возможность изменения разграничения чисел в тысячах, чтобы сузить путаницу.

Очистка параметров Excel> Дополнительные>параметры редактирования> Использование системных междугов.

Для десятичной запятой установите для десятичной запятой (запятую).

Установите для 1000-го построитель . (точка).

Изменение стандартного списка для новых текстовых файлов (влияет на все программы)

Когда вы сохраняете книгу в CSV-файле, по умолчанию в качестве разных списков запятой является запятая. Вы можете изменить этот знак на другой знак с помощью параметров региона Windows.

Внимание: Изменение параметров Windows приведет к глобальным изменениям на компьютере и повлияет на все приложения. Чтобы изменить только делитель для Excel, см. изменение стандартного деления в списке для сохранения файлов в виде текста (CSV- или CSV-файла) в Excel.

В Microsoft Windows 10 щелкните правой кнопкой мыши кнопку Начните и выберите параметры.

На главной панели в группе Региональные параметрыщелкните Дополнительные параметры даты,времени и региона.

В областивыберите изменить форматы даты, времени или числа.

В диалоговом окке Регион на вкладке Формат нажмите кнопку Дополнительные параметры.

В диалоговом окне Настройка формата на вкладке Числа введите символ, который будет использовать в качестве нового в поле "Сепаратор списков".

Дважды нажмите кнопку ОК.

В разделе Часы, язык и регион щелкните элемент Изменение форматов даты, времени и чисел.

В диалоговом окке Регион на вкладке Формат нажмите кнопку Дополнительные параметры.

В диалоговом окне Настройка формата на вкладке Числа введите символ, который будет использовать в качестве нового в поле "Список".

Дважды нажмите кнопку ОК.

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

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

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

Ищем WP-разработчика! Фулл-тайм, удаленка, хорошая зарплата, соц. пакет. Подробности.
Компания Boosta.

Ниже приведены простые PHP функции для создания и парсинга csv файлов. Никаких библиотек - для CSV это лишнее!

Формат CSV

Чтобы понимать суть вещей, нужно разобраться в спецификации CSV файлов, как устроен формат. Давайте коротко.

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

Каждая строка файла — это одна строка таблицы.

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

Значения, содержащие зарезервированные символы: " , ; \r\n или \n или \r (двойная кавычка, запятая, точка с запятой, новая строка) обрамляются двойными кавычками " .

Если в значении встречаются двойные кавычки " , то они должны выглядеть как двое кавычек подряд "" .

Это все что нужно знать, чтобы работать с CSV!

Пример для рус. языка:


Пример для англ. языка:


Wiki-справка

Большинство программ под CSV понимают более общий формат DSV (delimiter-separated values — значения разделённые разделителем), допускающий использование иных символов в качестве разделителя. В частности, в русской и других локалях запятая по умолчанию зарезервирована под десятичный разделитель. Поэтому как разделитель используется точка с запятой или табуляция (формат TSV).

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

Создание CSV файла в PHP

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

Важным моментом, является кодировка файла. Для корректного отображения кириллицы следует использовать кодировку cp1251 (windows-1251).

Разделитель колонок

Для русского языка символом-разделителем является ; (точка с запятой). Для англ. , (запятая).

Строки содержащие спец символы: " , ; \r\n или \n или \r должны быть в двойных кавычках "строка" .

Двойные кавычки внутри строки, нужно «очистить» поставив перед кавычкой еще одну такую же кавычку: строка "csv" превратиться в "строка ""csv""" . Обрамление в кавычки нужно, чтобы можно было внутри значений колонок использовать разделители ; , , и не переживать что что-то сломается при чтении файла.

Разделитель строк

Для разделения строк в csv файлах можно использовать \r\n (возврат каретки и перенос строки, CR LF). В этом случае, если нужен перенос строки внутри значения колонки, то там используется просто \n .

Также, для разделения строки, может использоваться просто \n (перенос строки, LF). В этом случае, перенос строки внутри значения колонки должен обозначаться как \r (возврат каретки CR).

Функция для создания CSV файла


меню

Чтение CSV файла в PHP

Когда нужно получить данные из CSV файла, т.е. разобрать его и получить данные в переменную, можно использовать встороенную в PHP функцию str_getcsv() .

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

Вариант на базе функции str_getcsv() :

Конвертация .lsx , .xlsx файла в .csv

Чтобы перевести Excel файл в CSV, нужно открыть его в Excel и сохранить в формате .csv :


Если такую конвертацию нужно сделать программно, смотрите в сторону онлайн конвертеров с API или готовых библиотек.

Сталкивались с такой задачей и знаете более универсальный способ? Прошу поделиться в комментариях.

Я столкнулся и потратил несколько часов перебирая всякий не универсальный «мусор» из гугла - то одно не работает, то другое, то библиотеку нужно ставить «хитро-мудрую». Так и появилась эта заметка.

Тема, конечно, интересная. Только этот код в реальных условиях работать не будет.

Что с ним не так?

1) Разделитель поля может быть любой. Например, '\', '|' или ещё что похуже.
2) Символ ограничителя поля может быть как двойная, так и одинарная ковычка.
3) Неплохо бы использовать unset в коде. Память на сервере всё-таки не резиновая. Одно дело загрузка файла с пару сотен строк кода, а другое если их пару десятков миллионов.

1) Ты параметр $col_delimiter не увидел похоже, суй туда какой угодно разделитель!

2) Для текущего кода (обоих) это учитывается: в первом создается строка с двойной кавычкой и только. Во втором строка парсится PHP функцией str_getcsv() которая обе кавычки понимает.

3) В каком месте там unset по твоему поможет хорошо избавится от потерь памяти? Если у тебя файл выходит за пределы памяти, что редкость с текущими параметрами серверов, то это пожалуй экстра случай и подход уже нужен будет принципиально другой. Файл читать или записывать нужно будет частями или построчно, а не так целиком. По аналогии ты в ВП запихай 50 000 рубрик и все приехали, нужно будет костыли вставлять для нормальной работы. Но ВП почему-то самая популярная CMS, как же так? Я не писал код на все случаи жизни, код покрывает 80% случаев, остальное уже требует отдельного подхода, а этот код можно взять за основу.

Этот код в реальных условиях у меня работает! Может там и есть баги, но я их не встречал.

П.С. просмотрел второй код, добавил unset() маловероятно что много толку от этого, но лишним не будет.

Не "суй туда какой угодно разделитель", а все возможные разделители для csv файлов. Ты бы ещё менеджеру предложил указывать разделитель для файла, который он загружает

"с текущими параметрами серверов". Поверь, кривым кодом можно положить сервер даже с очень хорошими характеристиками. Я обычно беру за правило, если переменная больше не будет использоваться она должна умереть (или обнулиться). Когда поработаешь с хайлоудом, то начинаешь понимать цену памяти)

И вообще, если пишешь рабочую программу, нужно это делать хорошо, а не в стиле "мой первый скрипт"!

export csv

Привет. Очень часто возникает необходимость экспортировать какие-то данные с сайта в Excel таблицу, например внутри личного кабинета компании формировать какой-то отчет и выгрузить его в формате CSV. PHP отлично с этим справляется и даже существуют специальные библиотеки, которые в значительной степени упрощают работу с экспортом данных в Excel. Но в данном примере мы их рассматривать не будем, а научимся это делать на чистом PHP. Ранее я публиковал материалы по созданию CRUD приложения на PHP, где мы помещали в базу данных некую информацию и выводили е на страницу. Я покажу, как можно сделать запись этих данных в CSV файл. И то же самое мы реализуем из другого приложения, где мы делали веб-приложение и хранили все записи в JSON файле. Как это выглядит можно посмотреть на демо странице:

Экспорт в CSV из БД MySQL

Для начала подготовим кнопку, по нажатию которой на компьютер будет происходить загрузка CSV файла с экспортированными данными. Соответственно она должна быть обернута в тег form. Я использую Bootstrap и FontAwesome, поэтому добавлю еще иконку.

test-export-csv-php

Нажимаем кнопку экспорта и получаем CSV файл с данными:

Эта таблица полностью повторяет все, что находится в базе данных MySQL, только в обратном порядке.

table-mysql

Если нужно экспортировать не все, а лишь некоторые ячейки таблицы, к примеру вы хотите из этой базы взять только Имя
Фамилию, то всего лишь нужно заменить пару строк кода:

fputcsv($output, array('Имя', 'Фамилия'));

fputcsv($output, [$row['first'], $row['description']]);

Конечно в этой БД полный бардак, но думаю, что принцип вам понятен. Для того, чтобы каждый раз вы экспортировали уникальный файл, то можно добавить в его имя временную метку:

И изменить 3 строчку на:

header("Content-Disposition: attachment; filename=download".$t .".csv");

Экспорт в CSV из JSON файла.


И запись в CSV из PHP

а) CSV-файл обязательно должен быть в кодировке UTF-8, иначе он не будет импортирован.

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

files.php?filename=ff09600cc76c5cb99fe59

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

files.php?filename=92f84bd5f3920eee58eb3

в) При импорте поддерживаются данные как для стандартных полей (полное имя, компания, должность, email-адрес, телефон, заметки), так и для кастомных, но их предварительно нужно создать в разделе «Поля данных» аккаунта администратора. Подробнее о создании дополнительных полей читайте в статье.

Самый простой способ создания подходящего CSV-файла

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

Проще всего изменить файл с помощью Google Таблиц. Создайте файл с данными в Google Таблицах или импортируйте имеющийся CSV или XLS-файл:

d7076318de6c3454f519eaf50032c05c.jpg

После выбора файла для импорта у вас появится окно для выбора разделителя в вашем файле.

Чаще всего подходит вариант «Определять автоматически», но если в файле используются разные символы, например, разделителем является точка с запятой, но в некоторых ячейках записаны несколько вариантов через запятую, то лучше указать разделитель вручную (в поле «Тип разделителя» выберите нужный вариант), чтобы файл импортировался корректно.

cd9ba1bf063c1a43bbf46ba661465cbe.jpg

Далее скачайте файл в формате CSV:

8f117dde87035235197ae0c9d6f1d846.jpg

Полученный файл импортируйте в Омнидеск (Аккаунт администратора — раздел «Настройки» — подраздел «Импорт данных»).

Подготовка данных из почтовых сервисов и клиентов

Все почтовые сервисы и клиенты позволяют экспортировать контакты, чтобы перенести их в другие приложения. Далее мы продемонстрируем, как это сделать в Gmail и Яндекс Почте.

Полученный файл также необходимо пересохранить, используя Google Таблицы, чтобы получить подходящий формат.

Кроме того, почтовые клиенты разделяют фамилию, имя и отчество пользователей по разным столбцам, а для импорта в Омнидеск ФИО должно быть в одном поле.

Для объединения ячеек используйте функцию «Сцепить», а для удаления лишних пробелов - «Сжать пробелы»:

Примеры экспорта контактов

1) Gmail

Откройте «Google Контакты», кликните по разделу «Ещё» — в раскрывшемся списке выберите «Экспортировать»:

Возможность создания CSV файла из таблицы Excel позволяет преобразовывать документы в нужный формат для загрузки в любые системы, например, outlook, Google Analytics, Яндекс.Метрику и многое другое.

Простой способ создания CSV через таблицу в Excel

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

Для превращения файла в CSV потребуется нажать на кнопку «Файл» (левый-верхний угол).

Далее выбираем пункт «Сохранить как» и нажимаем на «Обзор».

Открытие диалогового окна сохранения Excel файла в формате CSV

Теперь выбираем нужный формат, например, стандартный CSV.

Все готово, мы получили нужный формат.

Созданный CSV файл из таблицы Excel

Проверив его в блокноте можно увидеть, что разделители стоят «;» (точка с запятой).

Пример созданного из Excel CSV файла

Ручной метод превращения таблицы Эксель в CSV-файл

Если требуется создать кастомный файл (с собственными разделителями, например, |). Для этого прописываем конструкцию между каждым элементом:

Создание сцепления столбцов в Excel для создания CSV файла

Далее таким образом соединяем все элементы.

Растягиваем формулу до конца документа.

Растягивание формулы для сцепления всех столбцов в Эксель для создания CSV файла

Выделяем нужный столбец (новый) и правым кликом мыши по нему выводим меню, где нажимаем на «Копировать».

Копирование заготовки для создания CSV файла в Excel

Создаем текстовый документ новый (блокнот), кликнув правой клавишей мыши в нужной папке.

Создание нового текстового файла

Открываем его и вводим новое поле.

Копирование данных таблицы с со своими разделителями

После в левом-верхнем углу кликаем на «Файл»-«Сохранить как».

Сохранение файла со столбцами и разделителями

Выбираем нужный тип кодировки и сохраняем документ.

Важно! Можно сразу выбрать CSV как и в способе №1, дальнейшая инструкция предназначена как дополнительная возможность.

Важно! Лучше всего выбирать UTF-8, что позволит работать в дальнейшем с кириллицей.

Сохранение файла с разделителями в формате текст

Теперь опять кликаем правой клавишей мыши на файл и нажимаем на «Переименовать».

Переименование файла со столбцами и разделителями в CSV

Стираем разрешение «.txt» и прописываем вместо него «.csv». При необходимости меняем название.

Читайте также: