1

У меня есть простой текстовый файл, содержащий огромное количество данных. Данные разделяются точкой с запятой и новой строкой для начала новой строки следующих данных. Вот пример:

"User_id"; "device_id", "Отметка времени", "за рулем", "идентификатор", "onfootoptional", "работает", "servertimestamp", "стационарный", "tiltingoptional", "неизвестно", "ходить"

2089; 2145; "2016-01-28 14:31:27"; 28; "b28aa64d-7fe0-49e7-8a1b-b8d37c95a851"; 1; 0; "2016-01-28 15:11:41"; 18; 0; 50; 1

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

Как я действительно хочу преобразовать текстовые файлы в таблицу Excel:

  1. Преобразуйте каждый раздел, содержащий « Что-то или ничего », за которым следует « ; », в одну ячейку.

  2. Внутри поля "", если это строка, то ее необходимо преобразовать как строку, а если она содержит только целые числа, то ее необходимо преобразовать как целое число. Однако, если есть комбинация строки и целого числа, тогда это должно быть преобразовано как строка. Кроме того, если целое число содержит какие-либо специальные символы, такие как ".", ",", "-" или ":", то его необходимо преобразовать в целое число плюс специальные символы.

  3. Когда строка текста заканчивается новой строкой, тогда на листе Excel преобразование начинается с новой строки.

3 ответа3

0

Я думаю, встроенная функция (это общий метод?) из Libreoffice должен быть в состоянии сделать это?
Если нет - попробуйте csv2odf. Это очень удобный инструмент, особенно для преобразования многих файлов. Это должно соответствовать вашим потребностям.
Я не уверен в форматировании, которое вы упомянули. Попробуйте csv2odf. Если это не то, что вы хотите, попробуйте указать, что делает csv2odf
-ты хочешь
-вы не хотите

Лучше всего с правильными примерами.

Надеюсь это поможет. Удачи!

0

Я скопировал и вставил ваш образец в файл с именем «test.csv», а затем дважды щелкнул по нему. Используя настройки по умолчанию, он прекрасно открылся в Calc.

Попробуйте обрезать файл до нескольких сотен строк с помощью текстового редактора, а затем откройте его. Если это работает, то это должно дать представление о том, что является причиной проблемы.

Возможно, в файле есть проблемы с переводом строки. Попробуйте исправить их следующим образом: https://unix.stackexchange.com/questions/32954/use-sed-to-fix-broken-newlines

Также проверьте кодировку: https://stackoverflow.com/questions/805418/how-to-find-encoding-of-a-file-in-unix-via-scripts

Если "огромный объем данных" превышает 1 миллион строк, см. Https://ask.libreoffice.org/en/question/8631/upper-limit-to-number-of-rows-in-calc/.

0

Проблема решена. Преобразование не работает правильно на моем ноутбуке, но на чужой Ubuntu 14.04 это работало. Он практически не менял настройки при конвертации. Он только что последовал, щелкнув далее, а затем ОК, наконец.

Спасибо за ваши ответы.

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