Python3.5.1:从列表附加到列表不起作用
Python3.5.1: Appending to a list from a list doesn't work
我想做的是让我的 python 代码读取带有“;”的 .txt 文件每行上的分隔值,然后将每行上的每个值分隔到一个列表中,最后将这些值附加到分配的列表中。
这是我试过的...
pullData= open("example.txt", "r", encoding='utf-8').read()
dataArray = pullData.split('\n')
array_one = []
array_two = []
for eachLine in dataArray:
lineArray = eachLine.split(';')
array_one.append(lineArray[0])
array_two.append(lineArray[1])
此示例导致错误:
Traceback (most recent call last):
File "MyPath.py", line 25, in <module>
array_two.append(lineArray[1])
IndexError: list index out of range
每行的拆分工作正常,因为打印这些列表工作得很好;即:
for eachLine in dataArray:
lineArray = eachLine.split(';')
print(lineArray[0])
print(lineArray[1])
...如上returns 应该是什么。
>>>
RESTART: MyPath.py
Jeff
1009
Bill
771
关于这里可能出现的问题的任何想法...?
P.S。数据(即 "example.txt")是这样的:
Jeff;1009;3486;24047
Bill;771;371;3867
Michael;931;2131;3331
Jess;3311;9761;3886
Cathy;571;1301;63668
也许您在文件末尾有一个空的换行符。尝试:
for eachLine in dataArray:
lineArray = eachLine.split(';')
if len(lineArray) >= 2:
array_one.append(lineArray[0])
array_two.append(lineArray[1])
我想做的是让我的 python 代码读取带有“;”的 .txt 文件每行上的分隔值,然后将每行上的每个值分隔到一个列表中,最后将这些值附加到分配的列表中。
这是我试过的...
pullData= open("example.txt", "r", encoding='utf-8').read()
dataArray = pullData.split('\n')
array_one = []
array_two = []
for eachLine in dataArray:
lineArray = eachLine.split(';')
array_one.append(lineArray[0])
array_two.append(lineArray[1])
此示例导致错误:
Traceback (most recent call last):
File "MyPath.py", line 25, in <module>
array_two.append(lineArray[1])
IndexError: list index out of range
每行的拆分工作正常,因为打印这些列表工作得很好;即:
for eachLine in dataArray:
lineArray = eachLine.split(';')
print(lineArray[0])
print(lineArray[1])
...如上returns 应该是什么。
>>>
RESTART: MyPath.py
Jeff
1009
Bill
771
关于这里可能出现的问题的任何想法...?
P.S。数据(即 "example.txt")是这样的:
Jeff;1009;3486;24047
Bill;771;371;3867
Michael;931;2131;3331
Jess;3311;9761;3886
Cathy;571;1301;63668
也许您在文件末尾有一个空的换行符。尝试:
for eachLine in dataArray:
lineArray = eachLine.split(';')
if len(lineArray) >= 2:
array_one.append(lineArray[0])
array_two.append(lineArray[1])