Как преобразовать простые текстовые файлы в libreoffice cal (лист Excel) в Ubuntu 14.04?

391
user1946440

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

"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 преобразование начинается с новой строки.
1
Что такое «общий метод» - что конкретно вы пробовали? Jim K 8 лет назад 0

3 ответа на вопрос

0
nox

I think, the built-in function (is this the general method?) of Libreoffice should be able to do this?
If not - try csv2odf. This is a very handy tool, especially for many files to convert. It should fit your needs.
I am not sure about the formatting you mentioned. Give csv2odf a try. If it does not what you want it to do, try to specify, what csv2odf does
-you want
-you don't want

Best with proper examples.

Hope this helps. Good luck!

0
Jim K

I copied and pasted your sample into a file called "test.csv" and then double-clicked on it. Using the default settings, it opened just fine in Calc.

Try trimming down the file to a few hundred rows using a text editor, and then open it. If that works, then it should give an idea of what is causing the problem.

Maybe the file has newline problems. Try fixing them like this: https://unix.stackexchange.com/questions/32954/use-sed-to-fix-broken-newlines

Also check the encoding: https://stackoverflow.com/questions/805418/how-to-find-encoding-of-a-file-in-unix-via-scripts

If "huge amount of data" is over 1 million rows, see https://ask.libreoffice.org/en/question/8631/upper-limit-to-number-of-rows-in-calc/.

0
user1946440

The problem is solved. The conversion is not working correctly on my laptop but on someone else's Ubuntu 14.04 it worked. He basically didn't change any setting while converting. He has just followed by clicking next and then Ok finally.

Thanks for your responses.

Похожие вопросы