python中获取如下模式字符串的方法

Posted

技术标签:

【中文标题】python中获取如下模式字符串的方法【英文标题】:Method in python to obtain the following pattern string 【发布时间】:2016-01-06 07:42:09 【问题描述】:

我正在使用 tylertreat/BigQuery-Python 从 BigQuery 获取表列表,下面的代码在这里,

class get_Tables:
    def GET(self,r):
          web.header('Access-Control-Allow-Origin',      '*')
          web.header('Access-Control-Allow-Credentials', 'true')
          tables = []
          datasetID = web.input().dataSetID
          client = get_client(project_id, service_account=service_account,
                            private_key_file=key, readonly=True)
          result  = client._get_all_tables(datasetID,cache=False)
          tablesWithDetails =    result["tables"]
          for inditable in tablesWithDetails:
              tables.append(inditable["id"])
          print(json.dumps(tables))
          return json.dumps(tables)

上面的方法返回一个像这样的JSON,

["thematic-scope-112013:Demo.Airport_Traffic", "thematic-scope-112013:Demo.Alcohol_Consumption", "thematic-scope-112013:Demo.Flight_paths", "thematic-scope-112013:Demo.GDP_Country_Wise", "thematic-scope-112013:Demo.like_data", "thematic-scope-112013:Demo.medicare_cost"]

但我只想要没有项目和数据集名称,

以下列格式获取的模式或正则表达式是什么,

["Airport_Traffic", "Alcohol_Consumption", "Flight_paths", “GDP_Country_Wise”、“like_data”、“medicare_cost”]

【问题讨论】:

【参考方案1】:

不需要正则表达式,只需一个拆分方法就足够了。即,根据点拆分每个列表项,然后从该拆分列表中获取最后一个元素。

[i.split('.')[-1] for i in data]

例子:

>>> data =  ["thematic-scope-112013:Demo.Airport_Traffic", "thematic-scope-112013:Demo.Alcohol_Consumption", "thematic-scope-112013:Demo.Flight_paths", "thematic-scope-112013:Demo.GDP_Country_Wise", "thematic-scope-112013:Demo.like_data", "thematic-scope-112013:Demo.medicare_cost"]
>>> [i.split('.')[-1] for i in data]
['Airport_Traffic', 'Alcohol_Consumption', 'Flight_paths', 'GDP_Country_Wise', 'like_data', 'medicare_cost']

【讨论】:

.rsplit(".",1)[1] [i.split('.')[-1] for i in tables] newtables.append(i) ,这不会返回正确的数据,抱歉是 python 的新手 如何获取输入数据?它不是一个 json,它是一个列表。 JUts 将结果分配回tables = [i.split('.')[-1] for i in tables] 之类的表

以上是关于python中获取如下模式字符串的方法的主要内容,如果未能解决你的问题,请参考以下文章

Python 设置文档字符串并获取动态生成的类方法的方法名

Python中正则表达式的巧妙使用

python Python方法用另一种模式替换模式,在字符串中找到

Python中的单例模式与反弹机制

python连接mysql获取数据 字符串 获取变量

python中split的具体用法