1

У меня есть большой файл .xls с 53760 строками и 19 столбцами. Я сохранил его как текст с разделителями табуляции, чтобы предварительно обработать его с помощью инструментов командной строки и позже загрузить в R. Тем не менее, когда я бегу

head myfile.txt

мой терминал показывает все строки одновременно, как

cat myfile.txt

Команда должна делать. Но если я бегу

cat myfile.txt | wc -l

ответ я получаю 0. Что еще интереснее, R может читать мои данные без помощи какого-либо дополнительного пакета и идентифицировать все 53760 строк и 19 столбцов. Я полагаю, это проблема Excel, но я не могу понять, что это такое.

Я использую Mac OS 10.9.1, Microsoft Excel для Mac 2011, bash 4.2 и iTerm 2 1.0.0.20130622

1 ответ1

0

В Linux и Mac OS зайдите в vi, выполните следующую подстановку и снова сохраните файл, и это должно работать для вас,

$ vi myfile.txt
:%s/^V^M/^V^M/g
:wq

где ^ V ^ M означает тип Ctrl+V, затем Ctrl+M и завершает каждую строку возвратом.

Это должно поставить обычные символы конца строки UNIX в конце строк значения, разделенных запятыми в Excel. Вы можете даже создать скрипт vi, чтобы автоматизировать его, если вы делаете это много, затем вызвать этот скрипт vi из скрипта bash, спрятать всю эту несоответствие системы и назвать его dos2unix. :-)

Чтобы создать скрипт vim в dos2unix.vim, сделайте следующее:

  1. Создать скрипт

    $ vi -w dos2unix.vim myfile.txt

  2. Тщательно введите последовательность из 3 строк, как указано выше.

  3. Теперь примените этот скрипт к любому файлу с

    $ vi -s dos2unix.vim anyfile.txt

И завернуть все это в скрипт bash или даже псевдоним, как в, зависит от вас

alias dos2unix='vi -s ~/.vimscripts/dos2unix.vim '

Чтобы можно было сделать это так, как это было встроено, потому что теперь это будет - просто создайте папку с именем ~/.vimscripts и поместите туда созданный выше файл скрипта.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .