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

ewm0tg9j  于 2022-11-18  发布在  其他
关注(0)|答案(1)|浏览(111)
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

我怎样才能访问名称列并将内容添加到列表中?2我希望能够在不需要Pandas或麻木或其他任何东西的情况下访问此列。

7dl7o3gd

7dl7o3gd1#

您可以自己拆分每行中的列-风险自负。

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模块。

相关问题