Python从文本文件中查找字段
非常简单的python 2.7查找/替换文本问题-我有文本文件,每行都有一个长行(没有换行符),在每一长行中都有逗号分隔的部分(尽管有些部分不是这种格式):Python从文本文件中查找字段,python,python-2.7,replace,Python,Python 2.7,Replace,非常简单的python 2.7查找/替换文本问题-我有文本文件,每行都有一个长行(没有换行符),在每一长行中都有逗号分隔的部分(尽管有些部分不是这种格式): “国家”:“美国”、“城市”:“芝加哥”、“电话”:“123-456-7890”、“联系人”:“约翰·多伊” 我想浏览文本文件,每当为我要查找的两个字段中的一个找到:'字符时,打印出字段和相应的值(总是用引号括起来)在它们之间有一个分隔符…假设我只查找'Country'和'City'字段-我想在引号中找到其中一个字段名,并打印出相应的值,如
“国家”:“美国”、“城市”:“芝加哥”、“电话”:“123-456-7890”、“联系人”:“约翰·多伊”
我想浏览文本文件,每当为我要查找的两个字段中的一个找到:'
字符时,打印出字段和相应的值(总是用引号括起来)在它们之间有一个分隔符…假设我只查找'Country'
和'City'
字段-我想在引号中找到其中一个字段名,并打印出相应的值,如下所示:
国家|美国
City|芝加哥
忽略所有其他
:'
成对值。请发布代码以解决此问题。提示:在发布之前,您应该发布一些尝试此操作的代码,因为此网站主要用于调试,而不是为其他网站编写代码。这看起来像是针对此问题的“索引器:列表索引超出范围”错误的作业
with open('file.txt', 'rb') as f:
data = {x.split(':')[0].replace('"', '').lower().strip(): x.split(':')[1].replace('"', '').strip() for x in f.read().split(',')}
user_in = raw_input('Search: ')
print '{0}|{1}'.format(user_in, data.get(user_in.lower(), 'Not Found'))
st = '"Country":"USA","City":"Chicago","Phone":"123-456-7890","Contact":"John Doe"'
def get_value(string_,key_):
d = {}
st2 = string_.split(",")
for el in st2:
k,v = el.split(":")
k = k[1:-1]
d[k] = v
return d[key_][1:-1]
print(get_value(st, "Country") )
# USA
keywords = ["Country","City", "Phone", "Contact"]
for w in keywords:
print(get_value(st, w))
USA
Chicago
123-456-7890
John Doe