weixin_43716055 2022-02-24 09:03 采纳率: 50%
浏览 27
已结题

python 从string中提取片段

问题遇到的现象和发生背景

我有这样一组数据:

List = [_"0,0,0,0,000001.SZ,0,0,0,0"_ **,** _"0,0,0,0,000002.SZ,0,0,0,0"_ **,** ······]

每一个list的每一个元素,都是一个String,这个String的长度不固定(因为行情信息可能为NaN),但是每个元素的逗号数量是确定的。
我需要提取每一个元素当中的股票代码,也就是000001.SZ这样的。

我的解答思路和尝试过的方法

我尝试了用split(",")将每个元素分隔开,然后提取固定一列就好。
但这种方法太耗费时间和内存。

我想要达到的结果

请问有没有其他的方法可以提取出每个元素中的股票代码?
尽可能的快速,节省内存。

  • 写回答

3条回答 默认 最新

  • Joker-Full-stack 2022-02-24 09:28
    关注

    使用正则校验,6位数字+"."+2位字母

    # -*- coding: utf-8 -*-
    # coding:unicode_escape
    #Created on 2022年02月24日
    
    #@author: LinHuang
    #stock list
    from ast import For
    import re
    
    if __name__ == '__main__': 
        List = ["0,0,0,0,000001.SZ,0,0,0,0","0,0,0,0,000002.SZ,0,0,0,0","0,0,0,0,000003.SZ,0,0,0,0"]
        for index  in  List:
            # string = "0,0,0,0,000001.SZ,0,0,0,0"
            stock_list = re.findall(r'([0-9]{6,6}.[a-zA-Z]{2,2})', index)  # 股票
            print(stock_list)
            # 输出 
            # ['000001.SZ']
            # ['000002.SZ']
            # ['000003.SZ']
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月11日
  • 已采纳回答 3月3日
  • 创建了问题 2月24日

悬赏问题

  • ¥15 不小心不正规的开发公司导致不给我们y码,
  • ¥15 我的代码无法在vc++中运行呀,错误很多
  • ¥50 求一个win系统下运行的可自动抓取arm64架构deb安装包和其依赖包的软件。
  • ¥60 fail to initialize keyboard hotkeys through kernel.0000000000
  • ¥30 ppOCRLabel导出识别结果失败
  • ¥15 Centos7 / PETGEM
  • ¥15 csmar数据进行spss描述性统计分析
  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿