Немного странный. Я использую Excel для обработки некоторых данных в нескольких .txt файлах.
Когда я пытаюсь импортировать их с помощью Data
> Get External Data
> Import Text File
:
Подобно тому, как я это делал много раз в прошлом, я получаю диалоговое окно «Выбор файла», но когда я просматриваю папку, «выбирается» только пара файлов; остальные «серые»:
Там нет различий между файлами, которые я вижу, чтобы оправдать разницу. Единственная «логика» заключается в том, что «исходный» файл (назовем его 20150728 - SOURCE.TXT
) приходит по электронной почте с компьютера с Windows, а два других заблокированных файла ( 20150728 - Source Fragment 3.TXT
и 20150728 - Source Fragment 3 copy.TXT
) являются копией источника, где я удалил несколько строк, и Вторая копия полученного файла, в то время как незаблокированные начинались как Источник, где я удалил строки, а затем сделал «Сохранить как» в TextWrangler ...
Я могу обойти эту проблему, просто скопировав содержимое «серых» файлов в новый документ в TextWrangler и сохранив его, но я хотел бы понять причину такого поведения.
Выполнение file
в рассматриваемых файлах показывает, что они похожи, если не совпадают:
Mac:samples jjarava$ file 201507*txt
20150728 - Source Fragment 3.TXT: ASCII text
20150728 - Source Framgent 1.TXT: ASCII text
20150728 - Source Fragment 1.TXT: ASCII text
20150728 - Source.TXT: ASCII text, with CRLF line terminators
20150728 - Source Fragment 3 copy.TXT: ASCII text
Я немного "застрял" в том, что проблема может быть. У меня такое чувство, что это одна из тех «неясных причуд Mac», которые очень сложно объяснить.
РЕДАКТИРОВАТЬ : Согласно комментариям ниже от @ user3439894 и других, я изучил расширенные атрибуты файлов, чтобы увидеть, дает ли это какую-либо подсказку.
Вывод ls -l@
для файлов дает нам:
-rw-r--r--@ 1 jjarava staff 7652 Aug 3 13:58 20150728 - Source Fragment 3 (BAD).TXT
com.apple.FinderInfo 32
com.apple.TextEncoding 15
com.dropbox.attributes 83
-rw-r--r--@ 1 jjarava staff 6570 Aug 3 13:58 20150728 - Source Fragment 1 (Good).TXT
com.apple.FinderInfo 32
com.apple.TextEncoding 15
com.dropbox.attributes 83
-rw-r--r--@ 1 jjarava staff 6616 Aug 3 13:58 20150728 - Source Fragment 2 (Good).TXT
com.apple.FinderInfo 32
com.apple.TextEncoding 15
com.dropbox.attributes 83
-rw-r--r--@ 1 jjarava staff 21138 Aug 3 13:58 20150728 - Source (BAD).TXT
com.apple.FinderInfo 32
com.dropbox.attributes 83
Опять же , я вижу , что один из плохих файлов (источник), по- видимому отсутствует com.apple.TextEncoding
атрибут - но файл другие «не работает» действительно есть атрибут ... Только в случае , если значения различны для хороших и плохих файлов, давайте проверять:
Mac:samples jjarava$ xattr -p com.apple.TextEncoding 201507*txt
20150728 - Source Fragment 3 (BAD).TXT: UTF-8;134217984
Source Fragment 1 (Good).TXT: UTF-8;134217984
Source Fragment 2 (Good).TXT: UTF-8;134217984
xattr: 20150728 - Source (BAD).TXT: No such xattr: com.apple.TextEncoding
Так что это тоже не похоже на хитрость ...
20150728 - Source.TXT: ASCII text, with CRLF line terminators
. Попробуйте заменить терминаторы строки CRLF просто LF. В терминале попробуйте:tr -d '\r' < input.file > output.file
Source
чтобы убедиться,Source 3
что в TextWrangler окончание строк было «Unix». Как вы можете видеть другие нерабочие файлыLF
file
уже показал, что, каким бы макетом он не был интересен, как он разделен? А чтоls -l@
выводится для серых файлов?Ответы:
Я думаю, что у меня есть ответ.
Погугливая, я нашел ссылки на "серые" проблемы и упоминания
creator
атрибута файла .Таким образом, быстрый Google для " знака создателя файла OSX " указал мне
SetFile
и его родному братуGetFileInfo
.Быстрый бег
GetFileInfo
на файлы, которые я получаю:Все "рабочие" файлы имеют
type: "TEXT"
, и все "не рабочие", кажется, не имеют "тип", определенный ...На самом деле, запустите следующее, чтобы изменить файл
type
:И этот файл теперь можно выбрать в диалоговом окне «Открыть» в Excel!
Вопрос в том, откуда берется поле «type», и почему оно установлено в некоторых файлах, а не в других, но, по крайней мере, в этом есть некоторая «логика» !!
источник
Source
файл из своей почтовой программы; ясно, что это корень проблемы ...cut
,grep
и т. Д.) И передать их в новые файлы, которые у меня все еще есть. проблема импортировать их для обработки. Установка Type в TEXT сSetFile
решенной проблемой.Как показывает ваш скриншот, они «почти», но не полностью одинаковы; исходный файл,
ASCII text, with CRLF line terminators
а созданные вами копии и фрагментыASCII text
.Некоторая справочная информация: если вы думаете о древней пишущей машинке, то, что происходит, когда писатель начинает новую строку: бумага «пересылается» на одну строку (= «перевод строки», LF) и каретка перемещается в крайнее левое положение (= "возврат каретки", CF). UNIX и OS X используют один символ LF, чтобы сделать оба в текстовых файлах; Windows, с другой стороны, используют два символа, CR и LF, в конце каждой строки.
По-видимому, функция импорта Excel не может работать с текстовым файлом в формате Windows; TextWrangler, с другой стороны, может, и, когда вы манипулируете файлом и сохраняете копию, он автоматически сохраняет его в «формате UNIX», преобразуя CRLF в LF. Ваше решение - либо сообщить всем, что создает эти файлы на компьютере с Windows, либо сохранить их в формате UNIX, либо преобразовать их в формат UNIX в OS X, прежде чем вы сможете импортировать их в Excel.
источник
Source
файл? Это то, что