使用Python检查csv单元中的前2个字符

时间:2019-02-20 09:44:37

标签: python csv

你好,

我正在使用python编写程序脚本,并且正在从CSV文件读取数据。

1)我想检查“详细信息”列下每个单元格中的前2个字符。

2)我想过滤我的数据,但前两个字符不包含“ IP”。

下面的示例 CSV file

感谢进阶!

2 个答案:

答案 0 :(得分:0)

您可以使用the CSV module来解析CSV文件的内容。

官方文档中的示例片段之一是

$cordovaLocalNotification.schedule([
   {
    id: 1,
    title: "Daily Training Reminder",
    trigger: {
       every: {
         hour: 8,
         minute: 0
       }
    }
  },
  {
    id: 2,
    title: "Daily Training Reminder",
    trigger: {
       every: {
         hour: 9,
         minute: 0
       }
    }
  },
  {
    id: 3,
    title: "Daily Training Reminder",
    trigger: {
       every: {
         hour: 10,
         minute: 0
       }
    }
  },
  {
    id: 4,
    title: "Daily Training Reminder",
    trigger: {
       every: {
         hour: 11,
         minute: 0
       }
    }
  }
]).then(function (result) {

});

由此,您真正要做的就是在import csv with open('some.csv', newline='') as f: reader = csv.reader(f) for row in reader: print(row) 上进行一些字符串操作,而不仅仅是在其上调用row。如果您需要帮助,the official docs应该再有用

答案 1 :(得分:0)

这是一个可能会有所帮助的程序。请注意如何在DictReader对象上进行迭代,并根据“详细信息”字段是否以IP开头来过滤行。

#!/usr/bin/env python3

import csv

with open("input.csv") as input_file:
    with open("output.csv", "w") as output_file:
        reader = csv.DictReader(input_file)
        writer = csv.DictWriter(output_file, fieldnames=reader.fieldnames)
        writer.writeheader()
        for row in reader:
            if not row["Details"].startswith("IP"):
               writer.writerow(row)