如果您想使用命令行(而不是创建整个程序来完成这项工作),则想使用rows(我正在研究的一个项目):它是表格数据的命令行界面,但是在程序中使用的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 |
+----------------+--------+
使用--output
参数也可以将查询的输出转换为文件而不是stdout 。
作为Python库
您也可以在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
希望你喜欢它!