循环文件中的行,从第二列创建列表



我正在尝试循环我创建的输出文件中的行,该文件如下所示:

2020-03-19, 22.0
2020-03-20, 6.0
2020-03-21, 5.0

然后创建并打印一个列表,其中第2列为数字。

这只是我的主要功能,也是我遇到麻烦的功能:

def main(): 
for file in FILE_PATH_INPUT:
fWriteOutputFile(file)
print(fReadOutputFile(FILE_PATH_OUTPUT))
```

def fReadInputFile(pFile):
casesList = []
with open(pFile, 'r') as fi:
lines = fi.readlines()
for line in lines:
line = line.rstrip().split(',')
casesList.append(str(line[1]))
return casesList

```

**What I'm expecting:
[66, 6, 5]
what I'm getting:
casesList.append(str(line[1]))
IndexError: list index out of range**

问题出在这段代码中:

line = line.rstrip().split(',')
caseslist = str(line[1]) + ','
casesList.append(caseslist)

在第二行中,"line"仍然包含文本(它是一个字符串(,您必须转换为integer
正确的方法是:

line = line.rstrip().split(',')
casesList.append( int( line[1])

此外;file.close(("位于"return"之后。因此,"关闭"永远不会执行。

如果你只想打印列表,你不需要手动添加"quot;每个元素。相反,您可以用以下方式编写fReadOutputFile:

def fReadOutputFile(pFile):
casesList = []
with open(pFile, 'r') as fi:
lines = fi.readlines()
for line in lines:
line = line.rstrip().split(',')
casesList.append(str(line[1]))
return casesList

最新更新