Я изменил свой код, я нашел плохое решение, которое вы пишете, но оно не решает некоторые проблемы, я сказал, что плохое решение, потому что каждый раз, когда я должен найти номер столбца для записи в коде, так что этоне хорошее решение, для этого я хочу получить ячейку по имени столбца, например:
row2=next(reader)
print(row2['eye_lmk_x_0']) # I know that this doesn't exist but i search a something like this
вместо
row2= next(reader)
print(row2[1])
Это мой код после обновления:
import csv
import os
from collections import defaultdict
columns = defaultdict(list) # each value in each column is appended to a list
directory = "D:\\dtsface\\"
#for filename in os.listdir(directory):
# if filename.endswith(".csv"):
with open("image_0001.csv","r",newline='') as f:
file= open("image_0001.pts","w")
reader = csv.reader(f)
row1= next(reader)
row2= next(reader)
print(row2[1])
print(row2[2])
file.write("n_points: ")
file.writelines("{")
i=11
j=39
while(i<=18):
#file.writelines('\n\neye_lmk_x_'+str(i)+"\n\n"+str(columns[' eye_lmk_x_'+str(i)]))
file.writelines('\n'+str(row2[i]))
i=i+1
while(j<=46):
#file.writelines('\n\n'+str(j)+"\n\n"+str(columns[' eye_lmk_x_'+str(j)]))
file.writelines('\n'+str(row2[j]))
j=j+1
'''
for filename in os.listdir(directory):
if filename.endswith(".csv"):
filename2= os.path.basename(f.name)
file= f.rsplit('.',1)[0]
with open(filename2+".pts",'w'):
while(i<=7):
file.writelines('\n\neye_lmk_x_'+str(i)+"\n\n"+str(columns[' eye_lmk_x_'+str(j)]))
i=i+1
while(j<=35):
file.writelines('\n\neye_lmk_x_'+str(j)+"\n\n"+str(columns[' eye_lmk_x_'+str(j)]))
j=j+1
file.close()
'''
и мой вывод теперь такой:
вывод
Я хочу получить координаты y, поэтому мой вопрос в том, как получить строку за столбцомимена не по номеру столбца?