gpt4 book ai didi

python - 我如何将 txt 文件解析为 Python 中的列表

转载 作者:太空宇宙 更新时间:2023-11-04 10:11:18 26 4
gpt4 key购买 nike

我离Python的新蜜蜂不远了,我想解析一个文件原样:

Paris, 458 boulevard Saint-Germain
Paris, 343 boulevard Saint-Germain
Marseille, 343 boulevard Camille Flammarion
Marseille, 29 rue Camille Desmoulins
Marseille, 1 chemin des Aubagnens

文件包含:城市、街道编号、街道类型和街道名称

此顺序始终相同,城市后跟一个逗号。

我现在已经这样做了:

#!/usr/bin/python3.4                                                                          

import readline
import sys

try:
f = open(sys.argv[1])
except:
sys.exit()

lines = f.readlines()
print(lines)

我得到了这个输出:

['Paris, 458 boulevard Saint-Germain\n', 'Paris, 343 boulevard Saint-Germain\n', 'Marseille, 343 boulevard Camille Flammarion\n', 'Marseille, 29 rue Camille Desmoulins\n', 'Marseille, 1 chemin des Aubagnens\n']

似乎是要做的事情,但现在我有 2 个问题:

  1. 如何为每种类型(城市、数字、街道类型、街道名称)制作一些列表?

  2. Python 中是否有一个库可以解析列表中的地址?您会推荐一个吗?

最佳答案

您可以将这些数据存储在多种数据结构中。您可以将每一行的数据存储在一个包含(城市名称、街道编号、街道类型、街道名称)的元组中,然后将这些元组中的每一个存储到一个列表中。一个稍微好一点的选择是将数据存储到字典列表中。这是一个简短的演示。

fname = 'citydata.txt'

addresses = []
keys = ('city', 'num', 'type', 'name')

with open(fname) as f:
for line in f:
line = line.rstrip()
city, line = line.split(',', 1)
num, street_type, street_name = line.split(None, 2)
t = (city, num, street_type, street_name)
print(t)
addresses.append(dict(zip(keys, t)))

print()
for row in addresses:
print(row)

print()
for row in addresses:
print(row['num'])

输出

('Paris', '458', 'boulevard', 'Saint-Germain')
('Paris', '343', 'boulevard', 'Saint-Germain')
('Marseille', '343', 'boulevard', 'Camille Flammarion')
('Marseille', '29', 'rue', 'Camille Desmoulins')
('Marseille', '1', 'chemin', 'des Aubagnens')

{'city': 'Paris', 'num': '458', 'type': 'boulevard', 'name': 'Saint-Germain'}
{'city': 'Paris', 'num': '343', 'type': 'boulevard', 'name': 'Saint-Germain'}
{'city': 'Marseille', 'num': '343', 'type': 'boulevard', 'name': 'Camille Flammarion'}
{'city': 'Marseille', 'num': '29', 'type': 'rue', 'name': 'Camille Desmoulins'}
{'city': 'Marseille', 'num': '1', 'type': 'chemin', 'name': 'des Aubagnens'}

458
343
343
29
1

关于python - 我如何将 txt 文件解析为 Python 中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38143721/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com