Открытие файла формата csv

Как провести конвертацию документа Excel в CSV

Представим ситуацию. Нам необходимо воспользоваться данными, которые сохранены в таблице Excel, используя какую-нибудь еще программу, например, Outlook, программу с функциями почтового клиента либо Access, программу с базами данных. При подобных обстоятельствах для начала потребуется изменить формат Excel в CSV, далее – импортировать файл .csv в требуемую программу. Далее рассмотрены пошаговые инструкции с применением операции «Сохранить как».

1) Перейдите на вкладку «Файл» и кликните «Сохранить как». Знание того, какие клавиши либо комбинации клавиш нажать, значительно сэкономит ваше время в течение работы в той или иной программе. Поэтому, чтобы открыть то же диалоговое окно (Сохранить как), вы можете просто нажать клавишу F12.

2) В строке Тип файла нам потребуется выбрать CSV (разделители – запятые).

Наряду с этим типом файла, в программе представлен выбор и других вариантов

Вариант 1

CSV (разделители – запятые). Здесь документ сохраняется в виде текста с запятыми, в дальнейшем возможна работа с ним в иной программе Windows (либо иной версии ОС Windows).

Вариант 2

CSV (Macintosh). Схож с предыдущим вариантом, но предназначается с целью применения в ОС Mac.

Вариант 3

CSV (MS-DOS). Необходим с целью применения в ОС MS-DOS.

Вариант 4

Текст Unicode (* TXT). Это промышленный стандарт для компьютеров, поддерживаемый практически всеми современными операционными системами. Он может обрабатывать знаки практически всех современных языков, а также древних. Соответственно, если у нас имеются буквы иностранных языков либо еще какие-то спецзнаки,  для начала документ сохраняется в Unicode, потом конвертируется в CSV. Процесс выполнения указан выше.

Примечание: С помощью всех вышеперечисленных форматов сохраняется лишь активный лист.

3) Выберите папку назначения, далее – «Сохранить

После, откроется два диалоговых окна. Не надо волноваться, тут нет ничего плохого, все нормально.

4) В первом сообщении напоминается о том, что допускается сохранение только одного активного листа в CSV. Следует кликнуть ОК, если именно это и требуется.

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

5) Если щелкнуть ОК во время открытия первого окна, появится второе, информирующее вас о том, что в вашей таблице могут быть функции, не поддерживающие кодировку CSV. Хорошо, просто нажмите да.

Вот и все. Быстро и легко, вряд ли вы встретитесь с какими-нибудь препятствиями на этом пути.

Указание разделителя¶

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

Например, если в файле используется разделитель (файл
sw_data2.csv):

hostname;vendor;model;location
sw1;Cisco;3750;London
sw2;Cisco;3850;Liverpool
sw3;Cisco;3650;Liverpool
sw4;Cisco;3650;London

Достаточно просто указать, какой разделитель используется в reader (файл
csv_read_delimiter.py):

import csv

with open('sw_data2.csv') as f
    reader = csv.reader(f, delimiter=';')
    for row in reader
        print(row)

Важная информация о редактировании файлов CSV

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

Однако, иногда вы можете отредактировать файл CSV или создать его с нуля, и в этом случае следует учитывать следующее:

Распространенной программой, используемой для открытия и редактирования файлов CSV, является Microsoft Excel. Что важно понять об использовании Excel или любой другой подобной программы для работы с электронными таблицами, даже если эти программы обеспечивают поддержку нескольких листов при редактировании файла CSV, формат CSV не поддерживает «листы» или «вкладки», поэтому данные, которые вы создаете в этих дополнительных областях, не будут записаны обратно в CSV при сохранении. Например, предположим, что вы изменяете данные на первом листе документа, а затем сохраняете файл в CSV – эти данные на первом листе – это то, что будет сохранено. Однако, если вы переключитесь на другой лист и добавите туда данные, а затем снова сохраните файл, то будет сохранена информация на последнем отредактированном листе – данные с первого листа больше не будут доступны после закрытия программы

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

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

Нет проблем, если вы понимаете это ограничение. Вот почему существуют другие, более продвинутые форматы таблиц, такие как XLSX. Другими словами, если вы хотите сохранить в CSV любую работу, кроме базовых изменений данных, не используйте CSV – вместо этого сохраните или экспортируйте в более расширенный формат.

Открыть файл VCF на ПК

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

Microsoft Outlook (Windows / Mac)

Вы используете Microsoft Outlook в качестве почтового клиента по умолчанию? Тогда знайте, что вы можете импортировать контакты, содержащиеся в файле VCF, непосредственно в адресную книгу программы. Всё, что вам нужно сделать, это нажать кнопку Файл, расположенную в левом верхнем углу, перейти в меню «Открыть и экспортировать» и нажать кнопку Импорт / экспорт .

В открывшемся окне выберите параметр Импорт файла vCard (.vcf), нажмите Далее и выберите файл vcf, из которого необходимо импортировать контакты.

Процедура, которую я только что проиллюстрировал, касается Outlook 2019, но может быть применена с очень небольшими изменениями и в предыдущих версиях программного обеспечения.

Mozilla Thunderbird (Windows / Mac / Linux)

Вы предпочитаете использовать Mozilla Thunderbird для управления своей электронной почтой? Отлично. Даже в этом случае достаточно нескольких щелчков мыши, чтобы открыть файлы VCF и импортировать контакты в адресную книгу.

Всё, что вам нужно сделать, это вызвать адресную книгу, нажав соответствующую кнопку на панели инструментов Thunderbird (вверху слева) и выбрать Инструменты → Импорт из меню, доступного в открывшемся окне.

На этом этапе установите флажок рядом с элементом «Адресные книги», нажмите Далее, выберите запись файла vCard (.vcf) и снова нажмите Далее , чтобы выбрать файл VCF, из которого необходимо импортировать имена и адреса электронной почты.

Apple Mail (Mac)

Если двойной щелчок не открывает автоматически приложение «Контакты» на Mac, запустите его вручную (найдите его значок на первом экране панели запуска), выберите пункт «Файл» → «Импорт» в меню слева вверху и выберите файл VCF с контактами для импорта. Вас могут попросить подтвердить данные некоторых контактов для завершения операции.

Бесплатный конвертер VCF файлов в CSV

Если вы хотите просмотреть содержимое CSV-файла, импортировать его в адресную книгу на вашем компьютере или почтовом клиенте, вы можете положиться на Free VCF file to CSV Converter. Это макрос для Microsoft Excel, который позволяет просматривать содержимое VCF-файлов в виде электронной таблицы и экспортировать их в форматы, подобные CSV (что принято большинством почтовых клиентов и онлайн-служб электронной почты).

Чтобы использовать макрос, загрузите его на свой компьютер, подключившись к странице SourceForge, на которой он находится, и нажав зеленую кнопку Загрузить . После завершения загрузки откройте файл VCF Import v3.xlsm, нажмите кнопку Включить содержимое , чтобы авторизовать выполнение сценариев в документе, и выберите файл VCF для отображения. Подождите несколько секунд, и все данные в файле (имена, адреса электронной почты, номера телефонов, адреса и т.д.) должны появиться в Excel. Вас могут спросить, хотите ли вы удалить пустые строки.

Чтобы экспортировать документ в виде файла CSV или листа Excel, перейдите в меню «Файл» → «Сохранить как» и выберите тип файла, который вы предпочитаете, в раскрывающемся меню «Сохранить как»

Импорт CSV в Excel

Также возможно превратить открываемый документ в книгу Excel. Формат сменится на .xls для ранних версий Excel (2000, 2003) и на .xlsx – для всех остальных. Всё содержимое будет отображено на одном листе.

  1. Нажмите на ячейку в листе, куда должен начаться импорт. Обычно это самая первая ячейка в таблице, А1. Начиная с неё, будет заполнено столько строк, сколько есть в открываемом файле, и столько столбцов, сколько имеется значений в каждом столбце.
  2. Во вкладке “Данные” в группе “Получение внешних данных” выберите “Из текста”.
  1. В возникшем окне найдите требуемый документ и кликните на него два раза (также можно использовать кнопку Импорт внизу окна).
  1. Далее нужно следовать пошаговой инструкции открывшегося Мастера импорта текста.

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

Шаг 1. Мастер предложит Вам выбрать тип файла – как нетрудно догадаться, это будет “с разделителями” (по-английски – delimited), и строку, с которой начнётся перенос содержимого — скорее всего, нужно начать со строки 1, если вы не хотите переносить только часть содержимого. В окне ниже будут показаны первые строки из выбранного документа.

Шаг 2. Теперь требуется понять, какой используется разделитель (их может быть больше одного) в файле, и указать этот знак в Мастере. В нём есть опции выбора из стандартных разделителей, но если в документе применён нетипичный символ, можно выбрать Другой и ввести требуемый знак. В используемом для демонстрации файле разделители — Запятая и Таб. Запятые разделяют ячейки с характеристиками продуктов, такими как порядковый номер и количество проданных экземпляров, а табуляция отделяет один продукт от другого — информация о каждом должна начинаться с новой строки.

Также нужно определить и указать ограничитель текста. Это символ, поставленный перед и после каждого отрезка текста, который должен располагаться в одной ячейке. Благодаря ограничителю, каждый подобный отрезок воспринимается как отдельное значение, даже если внутри него присутствуют символы, выбранные для разделения значений. В нашем документе каждое значение обрамлено кавычками — потому, даже если в нём присутствует запятая (например “начало, потом продолжение”), весь его текст будет помещён в одну ячейку, а не в две последовательные.

Шаг 3. Здесь достаточно взглянуть на превью и, если на нём не видно недопустимых огрехов, нажать Готово. Может случиться так, что некоторые из значений будут разделены не одним разделителем, а несколькими, в результате между ними возникнут ячейки без значений. Чтобы такого не происходило, выберите флажок Считать последовательные разделители одним.

  1. Выберите путь назначения (это может быть новый или уже существующий лист) и нажмите ОК, чтобы закончить процесс импорта.

Также можно нажать Свойства — там содержатся другие возможности. Например, можно форматировать содержимое, настроить разметку и то, как информация будет обновляться.

Иногда результат конвертации оказывается далёким от ожидаемого. О том, как этот результат можно изменить, пойдёт речь в следующем разделе статьи.

Открытие CSV-документа в Excel

Excel может открывать документы с расширением .csv напрямую, без конвертации. Формат после открытия указанным способом не меняется, сохраняется расширение .csv – хотя после редактирования расширение можно поменять.

  1. Запустите Excel, кликните на “Файл“, затем “Открыть“.
  2. В появившемся окне выберите опцию “Текстовые файлы” из развернувшегося перечня.

  1. Найдите необходимый Вам документ и нажмите на него двойным кликом мыши.

Документы .csv открываются в Excel сразу, без дополнительных манипуляций. А вот файлы .txt потребуют конвертации – возникнет окошко “Мастера импорта текста“.

Есть случаи, когда документ лучше не открывать напрямую, а вызвать Мастер. Такой подход оправдан в следующих случаях:

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

Мастер запустится, если поменять расширение документа на .txt. Также импорт файла можно начать иначе, о чём пойдёт речь далее, после описания второго способа открытия.

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

Способы преобразования

Далее рассмотрим, какими программами осуществляется конвертирование CSV в VCARD.

Способ 1: CSV to VCARD

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

  1. Запускаем софт, для добавления файла CSV нажимаем на кнопку «Browse».

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

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

При этом открывается эксплорер, где выбираем желаемую папку и кликаем на «Сохранить». При надобности также можно отредактировать имя выходного файла.

Настраиваем соответствие полей искомого объекта с аналогичным в файле VCARD при помощи нажатия на «Select». В появившемся перечне выбираем подходящий пункт. При этом, если полей несколько, то для каждого из них необходимо будет выбрать свое значение. В данном случае указываем только одно — «Full Name», которому будут соответствовать данные из «№;Telephone».

Определяем кодировку в поле «VCF Encoding». Выбираем «Default» и нажимаем на «Convert» для начала преобразования.

По завершении процесса преобразования выводится соответствующее сообщение.

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

Способ 2: Microsoft Outlook

Microsoft Outlook является популярным почтовым клиентом, который поддерживает форматы CSV и VCARD.

  1. Открываем Аутлук и заходим в меню «Файл». Здесь нажимаем на «Открыть и экспортировать», а затем на «Импорт и экспорт».

В результате открывается окно «Мастер импорта и экспорта», в котором выбираем пункт «Импорт из другой программы или файла» и кликаем «Далее».

В поле «Выберите тип файла для импорта» обозначаем необходимый пункт «Значения, разделенные запятыми» и жмем «Далее».

Затем нажимаем по кнопке «Обзор» для открытия исходного CSV файла.

В результате открывается «Проводник», в котором двигаемся к нужной директории, выделяем объект и щелкаем «ОК».

Файл добавляется в окно импорта, где в определённой строке отображается путь к нему. Здесь еще необходимо определить правила работы с дубликатами контактов. Доступны всего три варианта при обнаружении аналогичного контакта. В первом он будет заменяться, во втором будет создана копия, а в третьем – будет проигнорирован. Оставляем рекомендуемое значение «Разрешить создание дубликатов» и кликаем «Далее».

Выбираем папку «Контакты» в Outlook, где должны быть сохранены импортированные данные, после чего жмем на «Далее».

Возможно также задать соответствие полей, нажав одноименную кнопку. Это поможет избежать нестыковок данных при импорте. Подтверждаем импортирование, поставив галочку в поле «Импорт…» и нажимаем «Готово».

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

К сожалению, Аутлук позволяет сохранять в формате vCard только один контакт за раз. При этом, еще нужно помнить, что по умолчанию сохраняется контакт, который предварительно выделен. После этого заходим в меню «Файл», где жмем «Сохранить как».

Запускается обозреватель, в котором перемещаемся в желаемую директорию, при необходимости прописываем новое имя визитной карточки и щелкаем «Сохранить».

На этом процесс преобразования заканчивается. К сконвертированному файлу можно получить доступ с использованием «Проводника» Windows.

Таким образом, можно сделать вывод, что обе рассмотренные программы справляются с задачей конвертирования CSV в VCARD. При этом, наиболее удобно процедура реализована в CSV to VCARD, интерфейс которого прост и интуитивно понятен, несмотря на английский язык. Microsoft Outlook предоставляет более широкий функционал по обработке и импорту файлов CSV, но при этом сохранение в формат VCARD осуществляется только по одному контакту.

Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.

3) С Google Диска через PyDrive

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

# Code to read csv file into Colaboratory:!pip install -U -q PyDrivefrom pydrive.auth import GoogleAuthfrom pydrive.drive import GoogleDrivefrom google.colab import authfrom oauth2client.client import GoogleCredentials# Authenticate and create the PyDrive client.auth.authenticate_user()gauth = GoogleAuth()gauth.credentials = GoogleCredentials.get_application_default()drive = GoogleDrive(gauth)

При появлении запроса нажмите на ссылку, чтобы получить аутентификацию, чтобы Google мог получить доступ к вашему диску. Вы должны увидеть экран с «Google Cloud SDK хочет получить доступ к вашей учетной записи Google» на вершине. Получив разрешение, скопируйте указанный код подтверждения и вставьте его в поле в Colab.

После завершения проверки перейдите к CSV-файлу на Google Диске, щелкните его правой кнопкой мыши и выберите «Получите доступную ссылку». Ссылка будет скопирована в ваш буфер обмена. Вставьте эту ссылку в строковую переменную в Colab.

link = 'https://drive.google.com/open?id=1DPZZQ43w8brRhbEMolgLqOWKbZbE-IQu' # The shareable link

То, что вы хотите, это часть идентификаторапосле знака равенства, Чтобы получить эту часть, введите следующий код:

fluff, id = link.split('=')print (id) # Verify that you have everything after '='

Наконец, введите следующий код, чтобы получить этот файл в кадре данных

downloaded = drive.CreateFile({'id':id}) downloaded.GetContentFile('Filename.csv')  df3 = pd.read_csv('Filename.csv')# Dataset is now stored in a Pandas Dataframe

Исчезают нули в начале чисел

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

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

Решение. Смените расширение на .txt, чтобы при открытии документа включился Мастер импорта. Когда дойдёте до Шага 3, смените формат столбцов с числами, которые начинаются нулями, на текстовый.

Устранение неполадок при открытии файлов CSV

Общие проблемы с открытием файлов CSV

Microsoft Excel не установлен

Дважды щелкнув по файлу CSV вы можете увидеть системное диалоговое окно, в котором сообщается «Не удается открыть этот тип файла». В этом случае обычно это связано с тем, что на вашем компьютере не установлено Microsoft Excel для %%os%%. Так как ваша операционная система не знает, что делать с этим файлом, вы не сможете открыть его дважды щелкнув на него.

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

Установлена неправильная версия Microsoft Excel

В некоторых случаях у вас может быть более новая (или более старая) версия файла Comma Separated Values File, не поддерживаемая установленной версией приложения. При отсутствии правильной версии ПО Microsoft Excel (или любой из других программ, перечисленных выше), может потребоваться загрузить другую версию ПО или одного из других прикладных программных средств, перечисленных выше. Такая проблема чаще всего возникает при работе в более старой версии прикладного программного средства с файлом, созданным в более новой версии, который старая версия не может распознать.

Совет: Иногда вы можете получить общее представление о версии файла CSV, щелкнув правой кнопкой мыши на файл, а затем выбрав «Свойства» (Windows) или «Получить информацию» (Mac OSX).

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

Даже если на вашем компьютере уже установлено Microsoft Excel или другое программное обеспечение, связанное с CSV, вы все равно можете столкнуться с проблемами во время открытия файлов Comma Separated Values File. Если проблемы открытия файлов CSV до сих пор не устранены, возможно, причина кроется в других проблемах, не позволяющих открыть эти файлы. Такие проблемы включают (представлены в порядке от наиболее до наименее распространенных):

Dialects and Formatting Parameters¶

To make it easier to specify the format of input and output records, specific
formatting parameters are grouped together into dialects. A dialect is a
subclass of the class having a set of specific methods and a
single method. When creating or
objects, the programmer can specify a string or a subclass of
the class as the dialect parameter. In addition to, or instead
of, the dialect parameter, the programmer can also specify individual
formatting parameters, which have the same names as the attributes defined below
for the class.

Dialects support the following attributes:

A one-character string used to separate fields. It defaults to .

Controls how instances of quotechar appearing inside a field should
themselves be quoted. When , the character is doubled. When
, the escapechar is used as a prefix to the quotechar. It
defaults to .

On output, if doublequote is and no escapechar is set,
is raised if a quotechar is found in a field.

A one-character string used by the writer to escape the delimiter if quoting
is set to and the quotechar if doublequote is
. On reading, the escapechar removes any special meaning from
the following character. It defaults to , which disables escaping.

The string used to terminate lines produced by the . It defaults
to .

Note

The is hard-coded to recognise either or as
end-of-line, and ignores lineterminator. This behavior may change in the
future.

A one-character string used to quote fields containing special characters, such
as the delimiter or quotechar, or which contain new-line characters. It
defaults to .

Controls when quotes should be generated by the writer and recognised by the
reader. It can take on any of the constants (see section
) and defaults to .

When , whitespace immediately following the delimiter is ignored.
The default is .

Важная информация о редактировании файлов csv

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

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

Другими словами, порядок, в котором заголовки столбцов появляются в первой строке, должен повторяться в последующих строках данных, чтобы данные в каждом поле можно было сопоставить с правильным столбцом. У вас есть возможность опустить любые столбцы, в которых не хотите добавлять или редактировать данные, если только этот столбец не требуется для инструмента загрузки данных, базы данных или правил конфигурации сайта. На самом деле рекомендуется опускать ненужные столбцы, чтобы упростить структуру файла данных и снизить вероятность появления ошибок в ненужном столбце. Нельзя пропустить поля, необходимые для инструмента «Загрузить данные», но можно опустить поля, необходимые для базы данных, при условии, что значение по умолчанию подходит для всех записей, которые вы добавляете или редактируете. Если значение по умолчанию не подходит ни для одной из записей в вашем файле данных, необходимо включить этот столбец и указать соответствующие значения для этих записей. Поля назначения в базе данных хранят различные версии значений, представленных на веб-страницах. Например, пользовательская цель «Представитель компании» хранится в базе данных как «company_rep». Значения сопоставляются друг с другом и преобразуются по мере загрузки и выгрузки данных из базы данных. Возможно, будет проще использовать значение базы данных, которое можно увидеть, при загрузке файла данных CSV по ссылкам в верхней части файла данных для загрузки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector