python - 如何修复行间没有分隔符或空格的 .txt 文件
问题描述
我正在尝试从我无法控制的设备中读取记录的观察结果,并且 .txt 日志的格式不太理想。该文件每行应该有 3 列:日期、时间和观察。但是 .txt 文件在观察和下一个日期之间没有分隔符或空格。例子:
11/20/20,00:00,44.411/20/20,00:05,44.411/20/20,00:10,44.6 ... and so on.
理想情况下应格式化为
11/20/20,00:00,44.4
11/20/20,00:05,44.4
11/20/20,00:10,44.6
与每条线相关的日期、时间和观察结果。有没有办法让熊猫按照我想要的方式读取这个文件?
解决方案
使用正则表达式查找每一行:
import re
import pandas as pd
# change s to your original text input
s = '11/20/20,00:00,44.411/20/20,00:05,44.411/20/20,00:10,44.6'
# use regular expression to findall occurrences of the pattern
data = re.findall('\d{2}/\d{2}/\d{2},\d{2}:\d{2},\d{2}\.\d', s)
# pass it to a DataFrame
df = pd.DataFrame(data)
print(df)
输出
0
0 11/20/20,00:00,44.4
1 11/20/20,00:05,44.4
2 11/20/20,00:10,44.6
推荐阅读
- python - 执行 Python subprocess.run 继续调用外部 MPIRUN 命令
- r - 返回选定的 tklistbox 值
- ruby-on-rails - 将活动 TCP 会话负载平衡到 AWS Aurora RDS
- typescript - 在打字稿中的对象中插入键值对
- karate - 空手道 UI 对 afterScenario 钩子中的错误进行截图
- json - 如果在使用 JOLT 转换时值具有特殊字符,则 JSON 解析会出错(无效的 UTF-8 起始字节 0xb7)
- php - 如何在 PHP 中使用 xPath 显示有关所选工程工具的信息
- node.js - 是否可以仅通过 API 调用在任何 Shopify 商店中结账?
- html - 如何将整个屏幕小型化?
- c# - 如何将 x:控件的名称传递给另一个类并将值设置为属性