python - 试图将 txt 数据转换为 csv 列
问题描述
我有一个小问题。下面的代码有效,但是当我将 /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,
我只是想了解检测 / 是否存在语法问题。我正在尝试在一个值和另一个值之间提取值。谢谢
解决方案
您可以使用该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/
推荐阅读
- c - 未定义对“WinMain”的引用 [错误] ld 返回 1 个退出状态,将矩阵作为函数中的参数传递
- database - 如何强制 TFDMoniFlatFileClientLink 文件刷新?
- hyperledger-fabric - 为什么调用查询不执行有效事务?
- asp.net-core - 如何使用 Asp.net 核心身份的 UserId 和 RoleId 将用户添加到角色
- javascript - 如何在 service-worker 中每分钟向服务器发送一个请求?
- graphql - Apollo GraphQL 错误:必须提供查询根类型
- c++ - C++ 运算符 () 重载
- html - 如何在智能手机上本地替换图像
- django - 在 django 过滤器中搜索有无空格
- android - 将自定义数据从 Firebase 云消息传递控制台显示到 Flutter 应用程序?