小编典典

在python中解析管道分隔文件

python

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

该文件如下所示:

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

它有100多个列。


阅读 216

收藏
2020-12-20

共1个答案

小编典典

如果您要解析的非常简单的文件|在实际字段值中不包含任何字符,则可以使用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']
2020-12-20