pythontexttable函数_Python texttable包_程序模块 - PyPI - Python中文网

text表格

用于创建简单ascii表的python模块

可用性

此模块在PyPI上可用,并已针对多个linux/unix平台打包

(Debian,

FreeBSD,软呢帽,苏丝……。

依赖关系

如果可用,cjkwrap库将代替文本换行,以更好地换行cjk文本。

如果可用,wcwidth库用于更好的呈现(基本的emoji支持)。

文档NAME

texttable - module for creating simple ASCII tables

FILE

/usr/local/lib/python2.7/dist-packages/texttable.py

DESCRIPTION

Example:

table = Texttable()

table.set_cols_align(["l", "r", "c"])

table.set_cols_valign(["t", "m", "b"])

table.add_rows([["Name", "Age", "Nickname"],

["Mr\nXavier\nHuon", 32, "Xav'"],

["Mr\nBaptiste\nClement", 1, "Baby"],

["Mme\nLouise\nBourgeau", 28, "Lou\n\nLoue"]])

print table.draw() + "\n"

table = Texttable()

table.set_deco(Texttable.HEADER)

table.set_cols_dtype(['t', # text

'f', # float (decimal)

'e', # float (exponent)

'i', # integer

'a']) # automatic

table.set_cols_align(["l", "r", "r", "r", "l"])

table.add_rows([["text", "float", "exp", "int", "auto"],

["abcd", "67", 654, 89, 128.001],

["efghijk", 67.5434, .654, 89.6, 12800000000000000000000.00023],

["lmn", 5e-78, 5e-78, 89.4, .000000000000128],

["opqrstu", .023, 5e+78, 92., 12800000000000000000000]])

print table.draw()

Result:

+----------+-----+----------+

| Name | Age | Nickname |

+==========+=====+==========+

| Mr | | |

| Xavier | 32 | |

| Huon | | Xav' |

+----------+-----+----------+

| Mr | | |

| Baptiste | 1 | |

| Clement | | Baby |

+----------+-----+----------+

| Mme | | Lou |

| Louise | 28 | |

| Bourgeau | | Loue |

+----------+-----+----------+

text float exp int auto

==============================================

abcd 67.000 6.540e+02 89 128.001

efghijk 67.543 6.540e-01 90 1.280e+22

lmn 0.000 5.000e-78 89 0.000

opqrstu 0.023 5.000e+78 92 1.280e+22

CLASSES

class Texttable

| Methods defined here:

|

| __init__(self, max_width=80)

| Constructor

|

| - max_width is an integer, specifying the maximum width of the table

| - if set to 0, size is unlimited, therefore cells won't be wrapped

|

| add_row(self, array)

| Add a row in the rows stack

|

| - cells can contain newlines and tabs

|

| add_rows(self, rows, header=True)

| Add several rows in the rows stack

|

| - The 'rows' argument can be either an iterator returning arrays,

| or a by-dimensional array

| - 'header' specifies if the first row should be used as the header

| of the table

|

| draw(self)

| Draw the table

|

| - the table is returned as a whole string

|

| header(self, array)

| Specify the header of the table

|

| reset(self)

| Reset the instance

|

| - reset rows and header

|

| set_chars(self, array)

| Set the characters used to draw lines between rows and columns

|

| - the array should contain 4 fields:

|

| [horizontal, vertical, corner, header]

|

| - default is set to:

|

| ['-', '|', '+', '=']

|

| set_cols_align(self, array)

| Set the desired columns alignment

|

| - the elements of the array should be either "l", "c" or "r":

|

| * "l": column flushed left

| * "c": column centered

| * "r": column flushed right

|

| set_cols_dtype(self, array)

| Set the desired columns datatype for the cols.

|

| - the elements of the array should be either a callable or any of

| "a", "t", "f", "e" or "i":

|

| * "a": automatic (try to use the most appropriate datatype)

| * "t": treat as text

| * "f": treat as float in decimal format

| * "e": treat as float in exponential format

| * "i": treat as int

| * a callable: should return formatted string for any value given

|

| - by default, automatic datatyping is used for each column

|

| set_cols_valign(self, array)

| Set the desired columns vertical alignment

|

| - the elements of the array should be either "t", "m" or "b":

|

| * "t": column aligned on the top of the cell

| * "m": column aligned on the middle of the cell

| * "b": column aligned on the bottom of the cell

|

| set_cols_width(self, array)

| Set the desired columns width

|

| - the elements of the array should be integers, specifying the

| width of each column. For example:

|

| [10, 20, 5]

|

| set_deco(self, deco)

| Set the table decoration

|

| - 'deco' can be a combinaison of:

|

| Texttable.BORDER: Border around the table

| Texttable.HEADER: Horizontal line below the header

| Texttable.HLINES: Horizontal lines between rows

| Texttable.VLINES: Vertical lines between columns

|

| All of them are enabled by default

|

| - example:

|

| Texttable.BORDER | Texttable.HEADER

|

| set_header_align(self, array)

| Set the desired header alignment

|

| - the elements of the array should be either "l", "c" or "r":

|

| * "l": column flushed left

| * "c": column centered

| * "r": column flushed right

|

| set_max_width(self, max_width)

| Set the maximum width of the table

|

| - max_width is an integer, specifying the maximum width of the table

| - if set to 0, size is unlimited, therefore cells won't be wrapped

|

| set_precision(self, width)

| Set the desired precision for float/exponential formats

|

| - width must be an integer >= 0

|

| - default value is set to 3

|

| ----------------------------------------------------------------------

| Data and other attributes defined here:

|

| BORDER = 1

|

| HEADER = 2

|

| HLINES = 4

|

| VLINES = 8

DATA

__all__ = ['Texttable', 'ArraySizeError']

__author__ = 'Gerome Fournier '

__credits__ = 'Jeff Kowalczyk:\n - textwrap improved import\n ...at...

__license__ = 'MIT'

__version__ = '1.6.2'

VERSION

1.6.2

AUTHOR

Gerome Fournier

CREDITS

Jeff Kowalczyk:

- textwrap improved import

- comment concerning header output

Anonymous:

- add_rows method, for adding rows in one go

Sergey Simonenko:

- redefined len() function to deal with non-ASCII characters

Roger Lew:

- columns datatype specifications

Brian Peterson:

- better handling of unicode errors

Frank Sachsenheim:

- add Python 2/3-compatibility

Maximilian Hils:

- fix minor bug for Python 3 compatibility

frinkelpi:

- preserve empty lines

欢迎加入QQ群-->: 979659372

推荐PyPI第三方库

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值