ValueError:解析txt时无法解包的值太多

用户5421875

我有一个小的txt文件,在该文件中,我需要在以特定关键字开头的行上用单个制表符替换多个空格,为此,我首先用单个制表符替换多个空格,然后将其替换为制表符我的脚本:

input_file=open('file.txt', "rw")
for i, line in input_file:
    if line.startswith('City'):
        while '  ' in line:
            line = line.replace('  ', ' ')
        input_file.write(line)
input_file.close   

我有这个错误:

ValueError                                Traceback (most recent call last)
<ipython-input-26-dfd976cfc18d> in <module>()
      1 input_file=open('file.txt', "rw")
----> 2 for i, line in input_file:
      3     if line.startswith('City'):
      4         while '  ' in line:
      5             line = line.replace('  ', ' ')

ValueError: too many values to unpack

为什么会发生呢?

安德烈斯·佩雷斯·阿尔贝拉·H。

如果您确实需要i,它是一个数字(如果start未定义关键字参数,则从0开始),该数字在每次迭代时递增,并由生成enumerate

尝试添加enumerate()

for i, line in enumerate(input_file):

如果不这样做,请使用:

for line in input_file:

关于“双空格删除”,无需使用while只需使用ifreplace

if '  ' in line:
    line = line.replace('  ', ' ')
input_file.write(line)

关于open(),您可以避免使用withstatement关闭打开的文件

这样做的好处是,文件在其套件完成后会正确关闭

with open('file.txt', "rw") as input_file:
    for line in input_file:
        if line.startswith('City'):
            if '  ' in line:
                line = line.replace('  ', ' ')
            input_file.write(line)

请参阅本节的最后一个示例https://docs.python.org/2/tutorial/inputoutput.html#methods-of-file-objects


open()模式从更改"rw""r+",以避免出现以下错误:

IOError:[Errno 9]错误的文件描述符

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

ValueError:使用火炬张量时无法解包的值太多

在for循环中使用str.split时出现“ ValueError值太多,无法解包”

训练分类器时出现“太多值无法解包” ValueError

定义OrderedDict时出错-ValueError:太多值无法解包

使用 django_filters 时,/plants/plants/ 处的 ValueError 值太多无法解包(预期为 2)

Python ValueError:太多值无法解包

python ValueError:太多值无法解包(预期...。)

OpenCV python:ValueError:太多值无法解包

Python 2.7.1 ValueError:解包的值太多

ValueError:从字典传递值时解包的值太多(预期为 2)

ValueError:太多值无法解包-是否可以忽略一个值?

ValueError:太多的值无法在url配置中解包(预期为3)

为什么在运行此程序时出现“ ValueError:太多的值无法解包”?

ValueError:太多值无法解包,读取文本文件时出错

ValueError:尝试同时迭代两个列表时,解包的值太多(预期为 2)

错误:ValueError:太多值无法解包(预期3)

OpenCV Python Numpy:ValueError:太多值无法解包(预期2)

Django-ValueError:太多值无法解包(预期2)

带有nltk的FreqDist:ValueError:太多值无法解包

ValueError:太多值无法解包-OpenCV Python HoughLines

Python-ValueError:太多值无法解包-为什么?

scikits.bvp_solver生成ValueError:太多值无法解包

Pandas DataFrame apply()ValueError:太多值无法解包(预期2)

MapReduce:ValueError:太多值无法解包(预期2)

ValueError:太多值无法解包Tkinter列表框

ValueError:太多值无法解包:python列表操作

Python ValueError:太多值无法用字典解包

Tensorflow ValueError:太多信息无法解包(预期2)

Sklearn管道引发ValueError:太多值无法解包(预期2)