我有一個csv文件就像原始報告,所以我想從每行中包含特定字符串的幾行。 父文件:如何使用python腳本從父csv文件生成子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
子文件應該是:(我只需要以下行其中包含的Y列L)
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」列工作
你應該看看**熊貓**。 –
使用內置的['csv'](https://docs.python.org/3/library/csv.html)模塊來處理CSV數據。無論在哪個列中,您的代碼都會寫入包含「Y」的任何行。 – zwer
[AWK](https://en.wikipedia.org/wiki/AWK)適用於簡單查詢:'awk'$ 12 ==「Y」'inputfiles'($ 12是第12列) – denis