2013-10-08 3 views
3

Как импортировать CSV-файл, содержащий некоторые символы, отличные от UTF8, в MongoDB? Я пробовал рекомендованный импортный код.Импортировать CSV-файл (содержит некоторые символы не UTF8) в MongoDb

mongoimport --db dbname --collection colname --type csv --headerline --file D:/fastfood.xls 

Сообщение об ошибке

exception: Invalid UTF8 character detected 

Я хотел бы удалить эти недопустимые символы вручную, но размер данных значительно большим.

Пробовал Google без успеха.

PS: Монго -v = 2.4.6

Спасибо.

Edit: Кстати, я на Win7

ответ

5

В Linux вы можете использовать команду iconv как предложено в: How to remove non UTF-8 characters from text file

iconv -f utf8 -t utf8 -c file.txt

Я не знаком с MongoDB, поэтому я не знаю, как сохранить недопустимые символы во время импорта.

+0

это возможно на Win тоже? если я пишу «iconv» на CMD, он не работает. (iconv не распознается как внутренняя или внешняя команда) – Zafar

+2

Я думаю, что команда iconv может быть загружена для окон здесь: http://sourceforge.net/projects/gettext/ – tderensis

+0

Как мы можем удалить недопустимые символы UTF-8 из .csv файл в окнах? – Prateek

0

Вы пытаетесь импортировать файл xls в файл csv. Сначала сохраните файл как csv, затем повторите попытку.

+0

спасибо за ответ, попробовал и получил результат. – Zafar

+0

Получили ли вы желаемый результат (успешный импорт) или ту же ошибку UTF-8? Как вы преобразовали файл из xls в csv? – SuperAce99

+0

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

1

Для пользователей emacs: Открыть CSV-файл в emacs и изменить кодировку с использованием C-x C-m f и выбрать utf-8 в качестве системы кодирования. Для получения дополнительной информации см. ChangingEncodings