ファイルからデータを取得しようとしていcsv
ますこれは私のcsvファイルがどのように見えるかです:
a,0,b,2,c,6,G,4,l,6,mi,2,m,0,s,4
a,2,b,2,c,0,G,4,l,6,mi,4,m,0,s,6
a,4,b,2,c,6,G,6,l,2,mi,4,m,0,s,0
a,2,b,0,c,2,G,6,l,4,mi,4,m,0,s,6
a,2,b,2,c,6,G,4,l,0,mi,6,m,0,s,4
a,2,b,6,c,0,G,6,l,0,mi,4,m,2,s,4
a,0,b,6,c,4,G,2,l,0,mi,6,m,4,s,2
a,6,b,6,c,4,G,0,l,0,mi,2,m,4,s,2
したがって、たとえば行[0]では、の数値に応じて、line 1,3,5,7,9,11,13,15
値を取得する必要があります0,2,4,6,10,12,14
より深い例: 行 1 から: I need to get
a,m = 0
b,mi = 2
c,l = 6
G,s =4
最後に、どの 2 つの組み合わせが最も高いかを追加しなければなりません。したがって、基本的にはそれぞれの合計です。
これを行うためには:
# Sanitize filelist to keep only *.csv files
def sanitize_filelist(filelist):
sanitized_filelist = []
# Keep only the log file
for file in range(len(filelist)):
if string.lower(filelist[file][-4:]) == '.csv':
sanitized_filelist += [filelist[file]]
# print sanitized_filelist
return sanitized_filelist
def parse_files(dataset_path,file):
threads = [0,2,4,6,10,12,14]
coreid = [1,3,5,7,9,11,13,15]
cores = [0,2,4,6]
thread_data = [[],[],[],[],[],[],[]]
#core = [[],[],[],[],[],[],[]]
threadcorecount = [[0 for a in range(0,4)] for b in range(0,8)]
dataset = csv.reader(open(dataset_path, 'rb'), delimiter=',')
for line in dataset:
#print line
for thread in range(len(threads)):
thread_data[thread] = line[threads[thread]]
for core in range(len(threads)):
if line[coreid[core]] == cores[0]:
sub = core - 1
print thread_data[sub],cores[0]
私はこのスニペットを書きました - まだテスト版です。値を取得して印刷できません。エラーはありません..何が間違っているのかわかりません。