【问题标题】:Python regex get value between two words from multiple linePython 正则表达式从多行获取两个单词之间的值
【发布时间】:2019-10-11 12:15:21
【问题描述】:

下面是我试图获取 DataColumn

之间的所有值和所有出现的文件

当前代码

import re

filedata = open('test.csv', 'r')

re.findall(r'data\n+(.*)', filedata.read(), re.I)

电流输出

output = ['1,test', '10,test', '100,test']

以下文件的预期输出

output = ['1,test', '2,test', '10,test', '11,test', '100,test', '200,test]

test.csv

Column
Num,Tape
data

1,test
2,test

column
Num,Tape
Data

10,test
20,test

column
Num,Tape
Data
100,test
200,test

【问题讨论】:

    标签: python regex file


    【解决方案1】:
    import re
    
    filedata = open('test.csv', 'r')
    
    re.findall(r'^((?!column|data|Num|Tape).+)+$', filedata.read(), re.MULTILINE | re.IGNORECASE)
    

    不确定这是否是您想要的。

    【讨论】:

    • 数据不是固定的,可以用任何东西代替测试。我也需要数据和列之间的一切
    • @akshay-sharma 固定代码。现在检查。给出类似 ['1,test', '2,test', '10,test', '20,test', '100,test', '200,test'] 的输出
    【解决方案2】:

    你应该试试这个:

    import re
    
    filedata = open('test.csv', 'r')
    
    re.findall(r'\d+.+', filedata.read(), re.I)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-08
      相关资源
      最近更新 更多