如何访问CSV文件中的特定列并将其添加到列表中而不使用外部模块?


def loadCSVData(filename):          
list = []
fileContent = open(filename, 'r', encoding = 'utf8')
for line in fileContent:
# HERE
fileContent.close()
return list

如果我有一个有3列的csv文件:

name job pay
1   
2
3
4

如何访问name列并将内容添加到列表中?我希望能够访问这些,而不需要pandas或numpy或其他任何东西。

您可以自己拆分每行中的列-风险自负。假设这是一个传统的CSV文件,您可以

def loadCSVData(filename):
with open(filename) as fileobj:
header = next(fileobj).strip().split(",")
if header != ["name", "job", "pay"]:
raise ValueError("Invalid CSV file")
return [line.strip().split(",")[0] for line in fileobj]

如果CSV的值中没有逗号,这将工作得很好。但是假设name"Doe, John",(一个内部逗号,周围的引号),那么你就会有问题,因为你会在那个逗号上分裂。如果是这种情况,您可以编写更复杂的解析器……或者直接使用标准库中已有的csv模块。

相关内容

  • 没有找到相关文章

最新更新