如何使用python脚本从父csv文件生成子csv文件?

时间:2017-07-17 11:51:45

标签: python-2.7

我有一个csv文件就像原始报告一样,所以我想要从每行中包含特定字符串的行中获取少量行。 父文件:

cols: A   B   C   D   E   F   G   H   I  J   K   L M N O
-----------------------------------------------------------------------
      abc def ghi jkl mno pqr stu vwx yz aaa bbb X 0 0 ajsjsvdjchbiyu ======kjdkjfk
      abe drf gti jul muo pir stu vwx yz aaa bbb X 0 0 ajsjsvdjchbiyu ======kjdkjfk
      abe drf gti j8l 7uo pir stu vwx yz aaa bbb Y 0 0 ajsjsvdjchbiyu ======kjdkjfk
      abe drf gti j8l 7uo pir stu vwx yz aga btb Y 0 0 ajsjsvdjchbiyu ======kjdkjfk

子文件应该是:(我只需要在行L中包含Y的行下面)

cols: A   B   C   D   E   F   G   H   I  J   K   L M N O
      abe drf gti j8l 7uo pir stu vwx yz aaa bbb Y 0 0 ajsjsvdjchbiyu ======kjdkjfk
      abe drf gti j8l 7uo pir stu vwx yz aga btb Y 0 0 ajsjsvdjchbiyu ======kjdkjfk

我写了下面的脚本来做到这一点:

import sys

fs=open("compliance_report.csv",'r')
fe=open("failed_controls_report.csv",'w')

count=0
lDict={}

fe.write("\n")
print  "\nCleaning un-wanted lines from raw report...."

for l in fs:
    if'Y' in l:

        fe.write(l)

    else:
        continue

count=count+1

fs.close()
fe.close()

我们在“0”列中有文本,所以当我使用这个脚本时,我得到的结果在同一行。 但这没有“0”栏

2 个答案:

答案 0 :(得分:0)

您需要使用csv模块将行实际解析为字段。使用您现在拥有的代码,您只需在整行中搜索任何Y字符,这显然不是您想要的。你可以知道你的代码可能不正确,因为它根本没有提到“L列”,尽管该列是问题陈述的一部分。

答案 1 :(得分:0)

另一种方法是使用 Pandas 库。使用pandas的过程看起来像这样:

finger printing
相关问题