Как открыть файл .dat (ASCII)?

Я попытался открыть файл .dat с помощью Stata, и он действительно открылся, но набор данных был в полном беспорядке. Я взял файл из NBER (данные CPS). ... нажмите на значок A марта 1964 года.

Я попробовал обычную процедуру Stata для .dat файлов: File->Import->ASKII data created by spreadsheet (delimiter " ") как рекомендовано в руководстве Stata для файлов .dat.

Но это все еще не работает. Есть ли другие способы открыть файл .dat? Можно ли его как-то преобразовать в .csv?

(Все файлы данных представляют собой файлы ASCII, сжатые с помощью команды Compress Unix.)


person Buras    schedule 14.05.2013    source источник


Ответы (3)


Существует приложение Java для получения данных из CPS, DataFerrett. Это приложение позволяет получать CPS и другие наборы данных. . Но это не очень эффективно.

Я могу показать вам пример, как открыть один из них самостоятельно (можно использовать для любых годов в интервале 1989-2012).

  1. Загрузите файл .dat
  2. Сохраните его в папке на рабочем столе (C:\Users\Owner...)
  3. Загрузите соответствующие файлы .do и .dct с здесь
  4. Сохраните их в той же папке
  5. Откройте файл .dat точно так же, как вы открываете его в своем вопросе в Stata.
  6. Сохраните его как файл Stata .dta в той же папке (C:\Users\Owner...)
  7. Откройте файл .do (с помощью Notepad++), который находится в вашей папке (C:\Users\Owner...).
  8. В самом начале вы увидите, что автор предписывает локальные переменные для путей файлов .dta, .dat и .dct. Измените пути так, чтобы они указывали на сохраненные файлы .dta, .dat и .dct в вашей папке (C:\Users\Owner...) на рабочем столе.
  9. Снова откройте Stata и запустите файл .do из своей папки (C:\Users\Owner...)
  10. Сделанный! Сохраните файл .dta

Теперь, для 1962-1988 годов, вы можете выполнить ту же процедуру (10 шагов), как я объяснил выше, но, к сожалению, NBER не предоставляет файлы .do и .dct. Это означает, что вы должны написать их сами. Возьмите один из доступных файлов .do и .dct любого года (1989 - 2012) в качестве эталона и напишите свои собственные файлы .do и .dct. Вам придется внести исправления, чтобы новые файлы .do и .dct соответствовали соответствующей документации .pdf за каждый год. Я знаю, что это очень приливно, но это единственный способ справиться с этим.

person CHEBURASHKA    schedule 15.05.2013
comment
СПАСИБО! Я пробовал это. Это работы с 1989 по 2012 год... Но все же, что насчет 1962-1988 годов. Я открыл эти файлы .pdf. В каждом из них около 200 страниц, и файлы не редактируются. Есть ли другой способ? Это похоже на геркулесову задачу написать свои собственные .dct и .do для каждого из 1962-1988 годов!? - person Buras; 17.05.2013
comment
зачем CPS публиковать файлы .dat вместе с очень длинной документацией в формате .pdf? Неужели они думают, что люди будут читать эти .pdf и писать свои собственные .do и .dct... это невероятно утомительно!!! Я думаю, что они ДОЛЖНЫ предоставить словарь. - person Buras; 17.05.2013
comment
Представьте, как выглядели компьютеры в период с 1962 по 1988 год. Мы должны радоваться, что данные тех лет больше не хранятся на перфокартах. Первая версия Stata была выпущена в 1985 году, и ее популярность росла постепенно, поэтому неудивительно, что более ранние версии данных не поддерживали Stata. Написание постфактум поддержки для Stata утомительно, и, очевидно, мы все хотели бы, чтобы другие люди сделали эту утомительную работу за нас, но это не всегда так... - person Maarten Buis; 17.05.2013

Нам нужно больше информации.

«.dat» не является особым расширением для Stata. Возможно, вы имели в виду .dta.

Даже если да, что это был за файл, какую команду вы использовали и что было не так?

Страница, на которую вы ссылаетесь, ведет к многочисленным файлам. У нас нет надежды угадать, что вы имеете в виду.

Написание "Стата".

person Nick Cox    schedule 14.05.2013
comment
Спасибо за ответ... это ссылка на файл .zip, содержащий .dat (не .dta): nber.org/data/current-population-survey-data.html Click on the A in the year 1964 March.. Я открыл его в соответствии с правилами в руководстве пользователя eui.eu/Personal/Franklin/Tutorial% 20session1.pdf , то есть ImportFile-›ASKII-›разделитель - person Buras; 15.05.2013
comment
Кажется, что вы должны использовать файлы .do и .dct, указанные в другом месте на этом сайте. Попытка прямого импорта файлов .dat, как вы сообщаете, ни к чему не приведет. - person Nick Cox; 15.05.2013
comment
Я пытался использовать файлы .do... Я просто запутался... открытие файла не должно быть такой большой проблемой... - person Buras; 15.05.2013
comment
Рассмотрим это с точки зрения NBER; Они стараются сделать доступными данные уже не одну пару лет, поэтому им придется столкнуться с тем, что форматы меняются, некоторые программы становятся менее популярными, появляются новые программы. Один из способов обойти это — сделать данные доступными с минимальным форматированием. Это означает, что открыть файл в данном программном пакете становится сложнее (как вы заметили), но форматирование, которого там нет, не может устареть, поэтому данные будут оставаться полезными в течение более длительного периода времени. Это справедливый компромисс. - person Maarten Buis; 15.05.2013
comment
@Buras: Ваш последний отчет не более чем я пытался использовать файлы .do. Это вообще не деталь, чтобы комментировать. Документация действительно выглядит очень сложной, но, к сожалению, только те, кто хочет использовать эти данные, будут заинтересованы в ее чтении. - person Nick Cox; 18.05.2013

может не спасти вас от траты дней на копание в этих данных, но вот несколько идей:

  1. файл содержит 2 совершенно разные строки. это может быть причиной того, что вы не можете их импортировать. вы можете увидеть это, открыв разархивированный файл в текстовом редакторе. вы должны выяснить, что это значит.
  2. что вы хотите получить от этого файла? согласно pdf, он содержит 85 различных значений на запись. они тебе все нужны? если вас интересуют только несколько значений, вы можете извлечь их в оболочке unix.
person user829755    schedule 18.05.2013
comment
Спасибо за ответ... Мне нужны все варианты за все годы. Камиль объяснил, как обращаться с файлами с 1989 по 2012 год. Однако мне нужны также файлы с 1962 по 1989 год. Поэтому он/она рекомендует писать .do и .dct для тех лет. Я читаю .pdf, но все еще не понимаю, как писать .do и .dct... Содержит ли каждая строка .dat зашифрованные значения для каждой переменной или готовые значения? Что такое разделитель? так далее... - person Buras; 19.05.2013
comment
разделитель равен , то есть был опущен для экономии места (вы знаете, 1964 год был просто другим). Вместо этого каждое поле имеет фиксированную длину (столбец «Цифры» в pdf). Столбец Positions определяет диапазон символов для каждого поля. Пример: 10. Возраст по отдельным годам — это двузначное число, встречающееся в символах 33 и 34 (0 = первая) каждой строки типа B (как я уже сказал, есть два типа строк, я называю их A и B). 11. Перекодированный возраст — это еще один столбец, относящийся к возрасту, и цифра, найденная как символ 35, идентична тому, что вы получаете, когда ищете возраст по отдельным годам в легенде, найденной в описании 11. понятно? - person user829755; 19.05.2013
comment
Спасибо, я понял. Как вы думаете, стоит ли пытаться писать .do и .dct за период с 1962 по 1989 год, взяв за основу период с 1989 по 2012 год? Я пытался открыть 1962 год, используя 2012 .do и .dct, но это не сработало... - person Buras; 19.05.2013
comment
без понятия. ничего не знаю о .do, .dct, даже о stata. зависит от вашей зарплаты в час и от того, чего вы можете добиться с результатом. будьте готовы к дополнительным проблемам, таким как сбои в данных или нечитаемые описания формата. вы видели те страницы, которые перевернуты или даже перевернуты? конечно выглядит как много работы. это одна из тех сумасшедших идей для докторской диссертации, где сжигают дешевых студентов? - person user829755; 19.05.2013