如何防止Python截断打印语句?

6

我有一个打印语句,用于打印一个非常长的Pandas DataFrame序列,但我需要所有信息。当打印时,Python会给出:

0 [{这是一条很长的语句......}]
1 [{这是一条很长的语句......}]

并以省略号终止打印语句。

我想看到完整的打印语句,而不被Python截断,是否有设置可以改变让打印语句打印无限值的设置?


如果您需要查看所有数据,为什么不使用df.to_csv("mycsv.csv")将其保存为CSV文件以便在终端之外访问呢? - Christina Stebbins
那是一个不错的选择,但很遗憾,我已经构建了一个 Web 应用并部署在客户基础设施上。我内置了一个自定义端点,以允许我将新日志插入到代码的不同行中进行调试,但我无法访问客户机器上的源代码库。 - Rui Nian
啊,所以执行 to_csv 方法会将结果返回给客户端计算机,而打印则允许您查看端点的结果。在这种情况下,df 中的条目有多长? - Christina Stebbins
它们不是太长,每一行对应一个JSON文件。每个JSON大约有20个条目。不幸的是,Python在第一个输出后截断了它。 - Rui Nian
2个回答

1

Pandas允许设置要查看的行数和宽度选项

pd.set_option("display.max_rows", n)
pd.set_option("display.expand_frame_repr", True)
pd.set_option('display.width', 1000)

为了增加每列打印的字符数,可以使用以下代码:

pd.set_option("display.max_colwidth", max_characters)

默认情况下,一列只能打印最多50个字符,这个选项允许您打印max_characters个字符。

请参阅下面的文档:

https://pandas.pydata.org/docs/user_guide/options.html


2
嗨,克里斯蒂娜,你的答案并不完全正确,但确实包含了你提供的选项链接。我需要使用选项(“display.max_colwidth”)来将特定列的宽度设置得足够大。我已经修改了你的答案以反映这一点。 - Rui Nian

-1

试试这个:

with numpy.printoptions(threshold=numpy.inf):
    print(arr)

嗨,Aymen,不幸的是,这没有起作用。我正在使用默认的Python库打印语句。此外,我正在打印一个pandas数据帧系列,而不是numpy数组,如果有任何更改。 - Rui Nian
1
如果您解释一下提供的代码如何回答问题,那么这将是一个更好的答案。 - pppery

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接