在python中解析管道分隔文件

发布于 2021-01-29 17:12:00

我正在尝试解析管道定界文件并将值传递到列表中,以便以后可以从列表中打印选择值。

该文件如下所示:

name|age|address|phone|||||||||||..etc

它有100多个列。

关注者
0
被浏览
52
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    如果您要解析的非常简单的文件|在实际字段值中不包含任何字符,则可以使用split

    fileHandle = open('file', 'r')
    
    for line in fileHandle:
        fields = line.split('|')
    
        print(fields[0]) # prints the first fields value
        print(fields[1]) # prints the second fields value
    
    fileHandle.close()
    

    编辑:
    更可靠的方法来分析表格数据将使用csv库作为下面提到。

    使用csv库。

    首先,注册您的方言:

    import csv
    csv.register_dialect('piper', delimiter='|', quoting=csv.QUOTE_NONE)
    

    然后,在文件上使用您的方言:

    with open(myfile, "rb") as csvfile:
        for row in csv.DictReader(csvfile, dialect='piper'):
            print row['name']
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看