#!/usr/bin/python
import csv
import re
string_1 = ('OneTouch AT')
string_2 = ('LinkRunner AT')
string_3 = ('AirCheck')
#searched = ['OneTouch AT', 'LinkRunner AT', 'AirCheck']
print "hello Pythong! "
#def does_match(string):
# stringl = string.lower()
# return any(s in stringl for s in searched)
inFile = open('data.csv', "rb")
reader = csv.reader(inFile)
outFile = open('data2.csv', "wb")
writer = csv.writer(outFile, delimiter='\t', quotechar='"', quoting=csv.QUOTE_ALL)
for row in reader:
found = False
for col in row:
if col in [string_1, string_2, string_3] and not found:
writer.writerow(row)
found = True
#for row in reader:
# if any(does_match(col) for col in row):
# writer.writerow(row[:2]) # write only 2 first columns
inFile.close()
outFile.close()
我想知道如何在CSV文件中搜索3个条目。如果存在这些项,则打印行。理想情况下,我只希望第1列和第3列打印到新文件。
示例数据文件
LinkRunner AT Video,10,20
Wireless Performance Video OneTouch AT,1,2
Wired OneTouch AT,200,300
LinkRunner AT,200,300
AirCheck,200,300
从你的问题的措辞来看,我认为你只是想完成手头的任务,并不真正关心如何完成。因此,复制并粘贴此文件,并将数据文件用作“in_file”值,将要写入的文件名用作“OUT_file”值。完成后,将要搜索的值放入“搜索”列表。
需要注意的事情。。。。 搜索应该是一个列表。
搜索中的值完全匹配,因此“A”与“A”不匹配。如果你想使用正则表达式或更复杂的东西让我知道。
在函数“non-numpy-search”中有一个“return-cols”参数。默认为第一列和第三列。
如果你没有女儿,告诉我。
试试这个:
相关问题 更多 >
编程相关推荐