在 Python 中解析竖线分隔的文件

新手上路,请多包涵

我正在尝试解析一个以竖线分隔的文件并将值传递到一个列表中,以便稍后我可以从列表中打印选择性值。

该文件如下所示:

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

它有 100 多个列。

原文由 John Doe 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

如果您正在解析一个非常简单的文件,该文件在实际字段值中不包含任何 | 字符,您可以使用 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 Spencer Rathbun 的回答中提到的 库。

原文由 OdinX 发布,翻译遵循 CC BY-SA 4.0 许可协议

使用 “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']

原文由 Spencer Rathbun 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题