【发布时间】:2021-01-08 15:03:44
【问题描述】:
我有一个非常大的文件,我想将每一行拆分两次并返回。但是我只能得到第一个结果,第二个超出范围
def clean_text(doc):
rows = doc.split('\n')
for row in rows:
row = row.split('|')
first_name = row[0]
last_name = row[1] <---- out of bounds
print(first_name, last_name)
有更好的解决方案吗?
【问题讨论】:
-
如果
row[1]出现越界错误,则意味着row.split('|')返回了一个长度=1 的列表,这意味着该行中没有管道|。 -
你也可以捕获异常,或者检查返回的长度..
-
您也可以尝试从源头解决问题,并确保它始终创建带有名字和姓氏的文件。
-
您需要添加对从拆分返回的条目数的检查。文本文件中通常存在一些与预期模式不太相符的特殊情况。