from prettytable import PrettyTable
header="乘客姓名,性别,出生日期".split(",")
x = PrettyTable(header)
x.align["乘客姓名"]="l"
table='''HuangTianhui,男,1948/05/28
姜翠云,女,1952/03/27
李红晶,女,1994/12/09
LuiChing,女,1969/08/02
宋飞飞,男,1982/03/01
唐旭东,男,1983/08/03
YangJiabao,女,1988/08/25
买买提江·阿布拉,男,1979/07/10
安文兰,女,1949/10/20
胡偲婠(婴儿),女,2011/02/25
(有待确定姓名),男,1985/07/20
'''
data=[row for row in table.split("\n") if row]
for row in data:
x.add_row(row.strip().split(","))
print(x)
Was richtig chinesischen Zeichen angezeigt werden soll ich das Ausgabeformat als die folgende ist.
In diesem Beispiel prettytable.py nicht richtig chinesen mehrdeutige Breite von Zeichen ·
in 买买提江·阿布拉
angezeigt werden kann, hat der Charakter mehrdeutige Breite. Wie behebe ich den Fehler in prettytable.py?
Ich habe zwei Zeilen in def _char_block_width (char) von prettytable.py hinzufügen, aber das Problem bleibt immer noch.
if char == 0xb7:
return 2
ich es gelöst haben, sollte die Datei prettytable.py in meinem Computer d installiert werden: \ python33 \ Lib \ site-packages directly not in as the form of d:\python33\Lib\site-packages\prettytable\prettytable.py
Es gibt viele chinesische Zeichen mit mehrdeutigen Breite, es ist dumm für uns, zwei Zeilen wie die folgenden hinzuzufügen, um den Fehler zu beheben, wenn es 50 mehrdeutige Zeichen gibt, werden 100 Zeilen in der prettytable.py hinzugefügt, gibt es eine einfache Möglichkeit, das zu tun? Einfach ein paar Zeilen korrigieren, um alle zweideutigen Zeichen zu behandeln?
kann dies helfen http://stackoverflow.com/questions/4622357/how-to-control-padding-of-unicode-string-containing-east-asia-characters – icedtrees
Ich habe den Beitrag gelesen, eine Reihe von voll Breite Versionen der druckbaren ASCII-Zeichen, die verwendet werden, ist keine gute Idee, ich fand, dass es kein solches Problem in R gibt, um alle Arten von Zeichen anzuzeigen, muss Python von R erlernen, um feine Anzeige zu schaffen. Jetzt will ich wissen, wie R tun? –