0

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

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'
 '+----+-----------+----------------+')
4

1 回答 1

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,))

我用括号和 \n得到与你相同的结果。

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

于 2019-06-12T21:10:17.640 回答