Как сохранить отчет в csv?
-
Подскажите как в конце работы шаблона сохранить нужный мне отчет в csv файл?
Нужно чтоб построчно по столбикам все сохранялось. Например закончил поток работу и сохранил текущий юзерагент в первый столбик и текущую проксю во второй столбик первой строки. И так построчно чтоб каждый поток писал в конце свою инфу и наполнялся файл отчета.
И это все в многопоточном режиме, чтоб синхронизация была, и защита файла от записи другими потоками. Если один пишет, чтоб следующие ждали своей очереди.
Подскажите как такое сделать максимально быстро и эффективно?
-
@Gang https://wiki.bablosoft.com/doku.php?id=ru:how_to_let_user_to_choose_output_file_name
При выборе файла указываете Ваш csv файл.
В поле куда в ставлять данные, данные разделяете каким либо разделителем, но так как у Вас будет сохраняться юзерагент, совеую использовать знак табуляции. Потом в екселе через импорт данных из текста получите таблицу, разбитую по столбикам
-
@DrPrime в строчке добавления элемента не вставляется таб(
-
-
@DrPrime said in Как сохранить отчет в csv?:
\t
не получается. Ошибка в логе и ничего не сохраняет(
http://i.piccy.info/i9/0bbd778fd6e8c2e11332422dc0099cc8/1488262803/108941/1119390/28_02_2017_8_18_49.png
-
@Gang стргки в кавычки нужно взять. Если переменные будут, то не нужно кавычки. И между строками и табуляцией добавить +
-
@DrPrime Сделал. Теперь сохраняет. Но с крякозябрами и без деления на столбики.
Как поправить?
http://i.piccy.info/i9/8540764de0f77c019740e6ae25b97404/1488273459/125761/1119390/28_02_2017_11_15_41.png
-
@Gang откройте в блокно е, посмотрите кодировку файла. Нужно UTF-8
Для открытия как таблицу во вкладке данные выберите импорт из файла, дальше выберите разделитель знак табуляции
-
@DrPrime Спасибо! Не помешало бы в этом плане доработать экспорт в csv. Сделать более удобным. Так как отчет в csv намного удобен и структурирован.
-
@Gang любой csv файл в екселе можно открыть только так. В open office при открытии csv файла сразу спрашивает разделитель.
Csv - этот тот же текст, поэтому отдельный функционал будет бесполезен