社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

如何在python中使用自定义分隔符和键值对解析文本列表

ChrisG • 5 年前 • 1547 次点击  

我们对数据有一个相当结构化的模式,但我不知道如何有效地处理它。

现在我们已经使用了for循环遍历每一行并拆分分隔符和值对,但是…“必须有更好的方法”

下面是一个示例行:

|207=NYSE|11002=N|10=232|

关于数据的一些注记

  • 管道是分隔符,但文档具有自定义分隔符
  • 本例中的20711002和10是变量/列标题
  • nyse,n和232是
  • 不是每一个变量都保证列在每一行中
  • 我相信None/NULL是空字符串 |207=|
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/48338
 
1547 次点击  
文章 [ 2 ]  |  最新文章 5 年前
Alex R
Reply   •   1 楼
Alex R    6 年前

哈希表!

需要更多的信息,但如果你已经有了数据,你可以把它分类为这些可以索引和减少整个过程时间!

当然,最初计算条目的去向需要时间,但是。

有点像

def hash(astring, tablesize):
sum = 0
for pos in range(len(astring)):
    sum = sum + ord(astring[pos])

return sum%tablesize
Kurtis Rader
Reply   •   2 楼
Kurtis Rader    6 年前

鉴于此

data = '|207=NYSE|99=|11002=N|10=232|'

那么这个

kv = dict(arg.split('=', 1) for arg in data.split('|') if arg)

也许是最简单,最有效的方法,把它变成这句格言:

{'207': 'NYSE', '99': '', '11002': 'N', '10': '232'}