如何修改Python代码去除文本文件空格并将表格转为单列
解决表格转单列并去除空格的问题
原代码存在的问题
- 字节串
replace未生效:字节串是不可变类型,byte.replace(" ", "")会返回新的字节串,但你没有将结果重新赋值给byte,原变量内容并未改变。 - 解码方法调用错误:第一次打印时写的
byte.decode是引用方法对象,而非调用方法,正确写法应为byte.decode()。 - 固定长度读取不合理:按6字节读取无法适配表格的行结构,容易截断数字或包含多余的空格、换行符,导致处理出错。
修正后的代码
推荐使用文本模式按行读取,能更准确处理每行的数字:
with open("zeaaa.txt", "r", encoding="utf-8") as file: for line in file: # 去除行首尾空白,按空格分割出所有数字 for num in line.strip().split(): print(num)
如果必须使用二进制模式读取(比如文件编码特殊),可以这样修改:
with open("zeaaa.txt", "rb") as file: byte_line = file.readline() while byte_line: # 解码为字符串,处理后分割数字 line_str = byte_line.decode("utf-8").strip() for num in line_str.split(): print(num) byte_line = file.readline()
代码说明
- 文本模式读取避免了字节串与字符串转换的繁琐,直接处理每行内容。
strip()移除每行首尾的换行、空格等空白字符,split()默认按任意空白(包括多个连续空格、制表符)分割,能精准提取每个数字。- 嵌套循环逐个打印数字,实现单列输出的效果。
内容的提问来源于stack exchange,提问作者Pinguoui
相关产品推荐
相关产品推荐

