Python中移除对象内dateTime列含!ENDMSG!的行
没问题!要移除dateTime列里带!ENDMSG!的行,这里给你几个不同场景下的解决方案,挑适合你的用就行:
方案1:Python Pandas 处理(适合批量/结构化数据)
如果你的数据是CSV格式或者已经读进DataFrame,用Pandas几行代码就能快速搞定:
import pandas as pd # 读取数据(根据你的实际文件格式调整,比如xlsx换成pd.read_excel) df = pd.read_csv('your_source_data.csv') # 过滤掉dateTime列包含"!ENDMSG!"的行,na=False避免空值报错 cleaned_df = df[~df['dateTime'].str.contains('!ENDMSG!', na=False)] # 保存清理后的数据 cleaned_df.to_csv('cleaned_data.csv', index=False)
方案2:Excel 可视化操作(适合手动处理小数据集)
要是用Excel处理,两种简单方法:
- 筛选法
- 选中dateTime列,点击顶部「数据」选项卡→「筛选」
- 点击列头的下拉箭头,选择「文本筛选」→「不包含」,输入
!ENDMSG!后确定 - 把筛选出的有效行复制粘贴到新工作表即可
- 公式标记法
- 在空白列(比如最后一列)输入公式:
=ISNUMBER(SEARCH("!ENDMSG!",A2))(假设dateTime在A列) - 下拉填充公式后,值为
FALSE的就是要保留的行,筛选出这些行复制即可
- 在空白列(比如最后一列)输入公式:
方案3:Shell 命令处理(适合Linux/macOS下的纯文本文件)
如果你的数据是纯文本格式(比如txt),直接用grep命令反向过滤:
grep -v "!ENDMSG!" your_source_data.txt > cleaned_data.txt
-v参数表示排除匹配指定字符串的行,结果直接输出到新文件里。
内容的提问来源于stack exchange,提问作者Giladbi
相关产品推荐
相关产品推荐

