我找不到更好的地方来问我的问题。我正在学习Python,并尝试创建一个脚本,如下所示。
1)应该能够搜索csv文件。
2)如果匹配,则返回整行。
我的csv:
Product,Scan,Width,Height,Capacity
LR,2999,76,100,17.5
RT,2938,37,87,13.4如果我搜索2938作为示例,则返回整行,如下所示:
Product: RT
Scan: 2938
Width: 37
Height: 87
Capacity: 13,4到目前为止,我有:
csvFile = getComponent().filePath
pos = csvFile.rfind('Desktop\\')
csvFile = csvFile[:pos] + 'programm\\products.csv'
myfile = open(csvFile)
myfile.seek(0)
for line in myfile.split('\n'):
data = line.split(',')
print data
if data[2] == agv_O_Cal.value and data[3] == agv_O_Mod.value:
print 'found: value = %s' %agv_O_Cal.value, agv_O_Mod.value
Product = data[5]
Scan = data[6]
Width = data[7]
Height = data[9]
Capacity = data[10]
print , Product, Scan, Width, Height, Capacity这个解决方案不起作用。
发布于 2014-09-28 15:04:04
#!/usr/bin/python
import csv
import sys
#input number you want to search
number = raw_input('Enter number to find\n')
#read csv, and split on "," the line
csv_file = csv.reader(open('test.csv', "r"), delimiter=",")
#loop through the csv list
for row in csv_file:
#if current rows 2nd value is equal to input, print that row
if number == row[1]:
print (row)发布于 2014-09-28 14:53:52
您可以像这样使用csv模块:
import csv
reader = csv.reader(open(csvFile, 'r'))
for data in reader:
#list index start from 0, thus 2938 is in data[1]
if data[1] == agv_O_Cal.value and data[3] == agv_O_Mod.value:
#do somethinngshttps://stackoverflow.com/questions/26082360
复制相似问题