尝试将 txt 数据转换为 csv 列

时间:2021-01-19 18:55:37

标签: python regex

我遇到了一个小问题。下面的代码有效,但是当我将 /test1 和 /test2 放入文件并更改 '/test1 (.*?) /test2' 时,它在文件中看不到它,除了运行。

import re
with open ('test.txt') as f:
    fin = f.read()
    try:
        print(re.search('test1 (.*?) test2', fin) .group(1))
    except:
        print('Didnt find test')

我的目标是从文本文件列表中提取并推送到具有如下文本的 CSV 列中,我将在其中提取 /J6 到 /K6 作为值范围。 /J6 到 /K6 有多个不同的行,每个值都被放入 CSV 中的单独列中。

/J60000,0000,0819,0016,0356,-13,0363/K60013 ,0012,0013,0875,-0021,00465,0120/L60089,0002,

我只想了解检测 / 是否存在语法问题。我正在尝试在一个值和另一个值之间提取值。谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用 re.split 函数。

这样的东西...

In [84]: import re

In [85]: inp = "/J60000,0000,0819,0016,0356,-13,0363/K60013 ,0012,0013,0875,-0021,00465,0120/L60089,0002,"

In [86]: re.split("/[J,K,L]\d", inp)
Out[86]:
['',
 '0000,0000,0819,0016,0356,-13,0363',
 '0013 ,0012,0013,0875,-0021,00465,0120',
 '0089,0002,']

免责声明:我根本不擅长正则表达式。我用这个链接作为参考。 https://www.dataquest.io/blog/regex-cheatsheet/

相关问题