Python写入TXT文件显示省略号,如何输出全部300个数字?
解决方法
问题出在str(numbers[indexes])的默认行为上——当你把numpy数组或者pandas序列转成字符串时,一旦元素数量超过阈值,就会自动截断,只显示前后5个元素加省略号。要显示全部300个数字,你可以用下面几种方法:
方法1:循环逐个写入
直接遍历选中的每个数字,逐个写入文件,还能自定义分隔符(比如空格、换行):
df = open('file_name', 'w') # 用空格分隔每个数字,也可以换成'\n'让每个数字占一行 for num in numbers[indexes]: df.write(f"{num} ") df.write('\n') df.close()
方法2:用join拼接字符串(更高效)
先把所有数字转成字符串,再用分隔符拼接成完整字符串后一次性写入,比循环写入效率更高:
df = open('file_name', 'w') # 这里用空格连接,可根据需求换成其他分隔符 df.write(' '.join(map(str, numbers[indexes]))) df.write('\n') df.close()
方法3:如果是numpy数组,调整显示参数
如果numbers是numpy数组,可以直接用to_string方法,设置threshold=None强制显示全部元素:
import numpy as np df = open('file_name', 'w') df.write(numbers[indexes].to_string(threshold=None)) df.write('\n') df.close()
内容的提问来源于stack exchange,提问作者barista
相关产品推荐
相关产品推荐

