首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >prettytable get_string错误

prettytable get_string错误
EN

Stack Overflow用户
提问于 2018-06-25 07:14:31
回答 1查看 1.1K关注 0票数 1

我有一个熊猫数据框架

代码语言:javascript
复制
>>> df
Out[126]: 
      score        id
0  0.999989    654153
1  0.992971    941351
2  0.979518    701608
3  0.972667    564000
4  0.936928    999843

并希望转换为可移植的(以便写入具有更好可读性的文本文件)

代码语言:javascript
复制
import prettytable as pt
x = pt.PrettyTable()
for col in list(df.columns):
    x.add_column(col,df[col])

然后在一个函数中,我使用

代码语言:javascript
复制
print(x.get_string())

得到这个错误

代码语言:javascript
复制
File "<ipython-input-130-8db747160a67>", line 5, in <module>
verbose   = True)

File "<ipython-input-129-4e27c067e0b5>", line 104, in lda_save_eval
print(x.get_string())

File "C:\Users\USER\Anaconda3\envs\tensorflow\lib\site-packages\prettytable.py", line 990, in get_string
self._compute_widths(formatted_rows, options)

File "C:\Users\USER\Anaconda3\envs\tensorflow\lib\site-packages\prettytable.py", line 894, in _compute_widths
widths = [_get_size(field)[0] for field in self._field_names]

File "C:\Users\USER\Anaconda3\envs\tensorflow\lib\site-packages\prettytable.py", line 894, in <listcomp>
widths = [_get_size(field)[0] for field in self._field_names]

File "C:\Users\USER\Anaconda3\envs\tensorflow\lib\site-packages\prettytable.py", line 77, in _get_size
lines = text.split("\n")

AttributeError: 'int' object has no attribute 'split'

有什么线索吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-25 08:02:11

尝试print (x.get_string())而不是print(x.get_string)

为了改进这一点,为了使文本文件具有更好的可读性--您不需要循环使用tabulate --它给您提供了更多的灵活性。

尝尝这个,

代码语言:javascript
复制
from tabulate import tabulate
print (tabulate(df,df.columns,tablefmt='psql'))

tablefmt中,您可以提供许多选项来获得不同的样式。有关更多详细信息,请参阅此链接

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51018046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档