Якщо ви хочете використовувати командний рядок (і не створювати всю програму для виконання завдання), ви хочете використовувати рядки , проект, над яким я працюю: це інтерфейс командного рядка для табличних даних, але також бібліотеку Python, яку слід використовувати у своїх програмах. За допомогою інтерфейсу командного рядка ви можете досить друкувати будь-які дані у форматі CSV, XLS, XLSX, HTML або будь-якому іншому табличному форматі, підтримуваному бібліотекою, за допомогою простої команди:
rows print myfile.csv
Якщо myfile.csv
так:
state,city,inhabitants,area
RJ,Angra dos Reis,169511,825.09
RJ,Aperibé,10213,94.64
RJ,Araruama,112008,638.02
RJ,Areal,11423,110.92
RJ,Armação dos Búzios,27560,70.28
Тоді рядки будуть друкувати вміст красивим чином, як це:
+-------+-------------------------------+-------------+---------+
| state | city | inhabitants | area |
+-------+-------------------------------+-------------+---------+
| RJ | Angra dos Reis | 169511 | 825.09 |
| RJ | Aperibé | 10213 | 94.64 |
| RJ | Araruama | 112008 | 638.02 |
| RJ | Areal | 11423 | 110.92 |
| RJ | Armação dos Búzios | 27560 | 70.28 |
+-------+-------------------------------+-------------+---------+
Встановлення
Якщо ви розробник Python і у вас вже pip
встановлений на вашій машині, просто запустіть всередині virtualenv або з sudo
:
pip install rows
Якщо ви використовуєте Debian:
sudo apt-get install rows
Інші цікаві функції
Перетворення форматів
Ви можете конвертувати між будь-яким підтримуваним форматом:
rows convert myfile.xlsx myfile.csv
Запит
Так, ви можете використовувати SQL у файлі CSV:
$ rows query 'SELECT city, area FROM table1 WHERE inhabitants > 100000' myfile.csv
+----------------+--------+
| city | area |
+----------------+--------+
| Angra dos Reis | 825.09 |
| Araruama | 638.02 |
+----------------+--------+
Перетворення результату запиту у файл замість stdout також можливе за допомогою --output
параметра.
Як бібліотека Пітона
Ви також можете у своїх програмах Python:
import rows
table = rows.import_from_csv('myfile.csv')
rows.export_to_txt(table, 'myfile.txt')
# `myfile.txt` will have same content as `rows print` output
Сподіваюся, вам сподобається!