Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

16 Апрель 2021, 21:07 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Экспорт столбцов в несколько текстовых файлов  (Прочитано 513 раз)
0 Пользователей и 1 Гость смотрят эту тему.
economist
Форумчанин
***
Offline Offline

Сообщений: 1 421


« Ответ #57501: 14 Февраль 2021, 18:24 »

Вот скрипт на языке Python, написан за 3 минуты, зацените лаконичность и читаемость.

Код:
import sys, glob, pandas as pd
txts =  glob.glob('D:\\TEST\\*.txt')
out_dir = 'D:\\OUT\\'
for txt in txts:
    df = pd.read_csv(txt, encoding='cp1251', sep=';')
    df.iloc[:,0].to_csv(out_dir + '1' + txt.split('\\')[-1], index=False)
    df.iloc[:,1].to_csv(out_dir + '2' + txt.split('\\')[-1], index=False)


Проще скачать Python c python.org (всё по умолчанию), установить библиотеку pandas командой
Код:
pip install pandas
и запустить скрипт (вставить код выше в файл с именем *.py), указав свои пути. Чтение рекурсивное, структура каталогов в OUT будет повторена.

Кстати, Python есть и внутри OpenOffice|LibreOffice, но стараниями разработчиков из него удалена утилита pip. О том как её поставить - кишит интернет.  

UPD: Любая кастомизация скрипта легко дается, т.к. язык очень высокоуровневый. Например, если нужно расширение именно *.csv. то это делается путем отрезания хвоста и допиской суффикса (рассказывать дольше, чем сразу написать):

+ txt.split('\\')[-1][:-4]+'.csv'
« Последнее редактирование: 14 Февраль 2021, 19:12 от economist » Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!