表格显示“ “打印时

问题描述 投票:0回答:2

我想在终端上打印一张表格,为此我使用 tabulate 包,但我有额外的返回战车' '。我怎样才能删除它们?

import pandas as pd
from tabulate import tabulate
df = pd.DataFrame({'schools' : ['Harvard', 'MIT', 'UCal', 'Cornell'],
                   'Faculty' : ['CS', 'Psychology', 'Biology', 'BioInformatics']})
print(tabulate(df,headers='keys',tablefmt='psql'))

结果

('+----+-----------+----------------+\n'
 '|    | schools   | Faculty        |\n'
 '|----+-----------+----------------|\n'
 '|  0 | Harvard   | CS             |\n'
 '|  1 | MIT       | Psychology     |\n'
 '|  2 | UCal      | Biology        |\n'
 '|  3 | Cornell   | BioInformatics |\n'
 '+----+-----------+----------------+')
python python-3.7 tabulate
2个回答
1
投票

看起来您实际上并没有打印该字符串,而是打印了包含该字符串的其他内容。在我的终端中,如果我使用你的代码,它就可以工作:

jvaubien@ml18-pc03 ~/Downloads> python3 test.py
+----+----------------+-----------+
|    | Faculty        | schools   |
|----+----------------+-----------|
|  0 | CS             | Harvard   |
|  1 | Psychology     | MIT       |
|  2 | Biology        | UCal      |
|  3 | BioInformatics | Cornell   |
+----+----------------+-----------+

test.py 包含您的代码示例。

但是如果我这样做:

import pandas as pd
from tabulate import tabulate
df = pd.DataFrame({'schools' : ['Harvard', 'MIT', 'UCal', 'Cornell'],
                   'Faculty' : ['CS', 'Psychology', 'Biology', 'BioInformatics']})
x = tabulate(df, headers='keys', tablefmt='psql')
print((x,))

得到与你相同的结果,带有括号和 .

您确定打印的是字符串而不是其他内容吗?字符串两边有括号,如果您只打印字符串,则该括号不应该出现在此处。


0
投票

您的代码没有错误。 可能与你的python版本或导入的模块有关。 我已经在我的终端和 google-colab 笔记本中尝试了你的代码,并获得了干净的输出。

您可以尝试创建新的虚拟环境并在新的虚拟环境中运行您的代码。

© www.soinside.com 2019 - 2024. All rights reserved.