Python 文本文件字符串解析
我是python新手,不知道自己做错了什么。我的老师建议我跟踪每一行,不要分割地址。我已经尝试了很多方法,但不确定从这里走到哪里。我应该试试reg ex吗?如果是,怎么做?我从来没有这样做过——我是Python新手 这是我的任务:使用文本编辑器或IDE,创建一个包含名称和地址的文本文件,用于基于以下格式的测试:Python 文本文件字符串解析,python,regex,file,Python,Regex,File,我是python新手,不知道自己做错了什么。我的老师建议我跟踪每一行,不要分割地址。我已经尝试了很多方法,但不确定从这里走到哪里。我应该试试reg ex吗?如果是,怎么做?我从来没有这样做过——我是Python新手 这是我的任务:使用文本编辑器或IDE,创建一个包含名称和地址的文本文件,用于基于以下格式的测试: Firstname Lastname 123 Any Street City, State/Province/Region PostalCode 在地址之间包含一个空行,并在文件中至少
Firstname Lastname
123 Any Street
City, State/Province/Region PostalCode
在地址之间包含一个空行,并在文件中至少包含三个地址。创建一个程序,验证该文件是否存在,然后处理该文件,并将每个地址显示为一行逗号分隔的值,格式如下:
Lastname, Firstname, Address, City, State/Province/Region, PostalCode
这是我的代码:
def get_list(filename):
addresses = []
with open("file.txt", "r") as file:
for line in file:
line = line.ljust(len(line[1:]))
line = line.split("\n")
if line[0] == "Address Book:":
continue
else:
addresses.append(line[0])
print(" ".join(addresses))
#print(addresses)
return addresses
这是一个示例TXT文件
AddressBook.txt
无名氏
阳光路1234号。
纽约州纽约市,10001
嘿,裘德
艾比路7608号。
纽约州纽约市,10001
无名氏
3583便士。
纽约州纽约市,10002我不能完全确定我是否理解您的意图。很抱歉,我将此作为一个答案发布,而不是对该问题发表评论(我没有评论该问题的声誉)。所以你有一个文本文件,里面有很多行,有名字和地址?你想把那个文件分成名字和地址吗?如果是,您是否需要与此人姓名链接的地址?请澄清这一点,我将非常乐意为您提供帮助 这个用例不需要使用正则表达式。如果每行的值由特定字符(如空格或逗号)分隔,则可以执行
.split()
并使用列表位置将值存储在特定变量中。请放一个示例文本文件来帮助复制您的问题。是的,很抱歉,我对Python和一般编程都是新手。感谢您的帮助。我还编辑了这个问题,以包括我们的讲师希望最终视图的外观。您好,谢谢您重新编写您的问题,现在已经清楚多了!那么现在代码的当前输出是什么?现在我把每个值(fname,lname),地址,然后是城市,州,邮政编码分开。我现在将它们放入数组中,显示一个列表中的所有名称、另一个列表中的地址以及城市、州和邮政编码。现在我只需要计算并行阵列的输出。很抱歉,这让人困惑。既然你是这样做的,姓名和收件人之间没有联系(我的意思是你不知道谁的地址属于谁)。但是,如果这样做,可以在它们之间链接的一种方法是,如果名称、姓氏和地址都在数组的同一索引中,则将它们连接起来(只需运行for循环)。如果你需要帮助,请告诉我。但是,解决您的问题更合理的方法是,当您处理每个名称+地址时,将它们直接保存到新的完成数组中,然后将该数组保存到文本文件中。我希望这是有意义的,如果不清楚,请告诉我