2012-09-06 1 views
0

В моем новом приложении Ruby on rails я хочу найти код страны для пользователей.
Так что я использую MaxMind GeoIp. когда я загрузил gzip-файл после gunzip, он дает мне файл GeoIP.dat, и я застрял здесь. Может ли кто-нибудь помочь.
Если это программа для ее открытия или для ее использования. Или, если кто-то может предложить мне другой путь.Может ли любой орган сказать мне, как открыть FIL с расширением .dat в cent os?

+0

попробуйте открыть его с помощью vi – Satya

+1

Попробуйте использовать команду ['file'] (http://en.wikipedia.org/wiki/File_ (command)), чтобы узнать, какой тип файла она есть, и перейти от там. – x1a4

+0

@Satya Vi открывает файл, но не показывает фактические данные. –

ответ

2

Как @Kyle pointed out, вы можете загружать CSV-файлы с возможностью чтения человеком вместо двоичных файлов DAT. Загрузка MaxMind GeoLite - here.

The CSV file format is described here.

Но примечание (по ссылке выше):

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

APIs are listed here. В API нет Javascript API, но есть несколько вариантов для Ruby.

Таким образом, чтобы ответить на ваш вопрос напрямую: вы не будете «открывать» файл данных напрямую, как и документ электронной таблицы. Вместо этого вы должны написать свою собственную программу, которая использует свой API для чтения dat-файла, и выполнять любые задачи или запросы, которые вы его проектируете. Ознакомьтесь с их документацией API, чтобы узнать, как вы можете начать с этого.

1

.dat - это просто расширение файла. Содержимое может быть любым. Текст. Двоичные данные и т. Д.

Нет никого, кто бы мог достоверно рассказать вам, как открыть файл.

Я попытался бы просмотреть содержимое файла из командной строки:

less file_name.dat 

Вы можете открыть файл и читать построчно в рубин, как это:

IO.readlines('file_name.dat').each do |line| 
    # do something with the line 
end 

Редактировать : Думаю, я нашел файл, на который вы ссылаетесь. Почему бы не пойти here и загрузить версию csv? Версия .dat не является простым текстом.

Смежные вопросы