从要匹配的模式超过10个的CSV文件中删除不需要的行

Huzefa Biyawarwala

我有一个CSV有2文件columns,我必须match值的单一行两列,如果我们要保持柱否则的条件相匹配delete整行以下是我的csv文件的示例:

lidocaine (oint, patch) generic 1   tube of cream
lidocaine (oint, patch) generic 1   kit
lidocaine (oint, patch) generic 1   bottle of topical solution
lidocaine (oint, patch) generic 1   tube of ointment
lidocaine (oint, patch) generic 1   tube of ointment
lidocaine (oint, patch) generic 1   jar of ointment
lidocaine (oint, patch) generic 1   bottle of lotion
lidocaine hcl (gel 2%, soln 4%) generic 1   patch

在这里,除了第4行,第5行和第6行外,其他所有行将被删除。原因是:

  1. 第一行的左侧有软膏和补丁,右侧则是乳膏,因此它将被删除。

    同样,第二和第三行将被删除。

  2. 第四,第五和第六行将不会被删除,因为它们的左边有软膏,而右边类似的词软膏。

因此,如何实现这一点,programatically因为在删除行之前,我要匹配10多个以上类似的条件。

请任何人可以帮助我。Thnx :)

字节指挥官

我可以提出一个Python脚本,该脚本以文件名作为命令行参数并输出整个内容,但是没有所有oint在所有列中都没有字符串(不区分大小写)的行。

#! /usr/bin/env python3
import sys

COLUMN_SEPARATOR = "   "  # character or string used as column separator. Tab = "\t"
SEARCH_STRING = "oint".lower()  # case-insensitive string that needs to be present in all columns

with open (sys.argv[1]) as f:
  rows=[list(map(str.strip, line.split(COLUMN_SEPARATOR))) for line in f.readlines()]
  for r in rows:
    if all([SEARCH_STRING in r[i].lower() for i in range(len(r))]):
      print(COLUMN_SEPARATOR.join(r))

复制上面的脚本并将其保存为任何文件,例如csvfilter.py
使用使其可执行chmod +x csvfilter.py

然后将其与文件一起运行以作为单个参数进行处理。
上面的示例(以3个空格分隔的列)的示例输出为source.csv

$ ./csvfilter.py source.csv
lidocaine (oint, patch) generic 1   tube of ointment
lidocaine (oint, patch) generic 1   tube of ointment
lidocaine (oint, patch) generic 1   jar of ointment

该脚本不会修改原始文件,而只是将新版本打印到标准输出中。另外,除设置为的字符串外,列之间的任何空白字符COLUMN_SEPARATOR都将被丢弃。

要将原始文件替换为修改后的版本,请将输出重定向回原始文件:

$ ./csvfilter.py source.csv > source.csv

您还可以将修改后的版本另存为文件:

$ ./csvfilter.py source.csv > modified.csv

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从CSV文件中删除不需要的列

来自分类Dev

如何通过批处理文件从文本文件中删除不需要的行?

来自分类Dev

按“提交按钮”后删除 .csv 文件中不需要的逗号

来自分类Dev

唯一地删除多个文件中不需要的行

来自分类Dev

从所有行的日志文件中删除不需要的部分

来自分类Dev

删除脚本中不需要的文件锁定

来自分类Dev

如何从git中删除不需要的文件

来自分类Dev

使用 cmd 文件从 PATH 中删除不需要的目录

来自分类Dev

如何从数据框中删除不需要的行?

来自分类Dev

如何删除HTML画布中不需要的行?

来自分类Dev

删除Excel工作表中不需要的行

来自分类Dev

从git / github删除不需要的文件

来自分类Dev

在R中,如何从CSV文件名中删除一些不需要的字符并提取日期?

来自分类Dev

在VBA中删除不需要的查询

来自分类Dev

从数组中删除不需要的元素

来自分类Dev

从页面中删除不需要的空间

来自分类Dev

从变量中删除不需要的字符

来自分类Dev

CSV 中不需要的字符

来自分类Dev

表格布局中不需要的行

来自分类Dev

搜寻模式删除视图组子类不需要的布局

来自分类Dev

Python 从匹配列表的定义路径中删除不需要的 Dirs

来自分类Dev

匹配不需要的链接

来自分类Dev

匹配不需要的链接

来自分类Dev

根据 2 个条件对单元格求和,然后在求和后删除不需要的行

来自分类Dev

如何从Windows 10专业版中永久删除不需要的应用程序?

来自分类Dev

如何从R中的excel文件中删除不需要的列?

来自分类Dev

删除不需要的变量

来自分类Dev

Perl-从文本文件中删除CSS(和其他不需要的字符)

来自分类Dev

如何从C#UNity以JSON格式编写的文件中删除特殊字符或不需要的符号?

Related 相关文章

热门标签

归档