Nov-30-2018, 04:42 PM
I have written a code in Python 3 that extracts values from a table(.csv) using pandas and appends them to a list. My code is:
import os import numpy as np import csv import pandas as pd from generate_xml import write_xml # global constants img = None tl_list = [] br_list = [] object_list = [] tl_x = [] tl_y = [] br_x =[] br_y =[] # constants obj = 'red_hat' df = pd.read_csv('ring_1_05_sam.csv') tl_x = df.iloc[5:10, 0:1] - 30 tl_y = df.iloc[5:10, 1:2] - 30 br_x = df.iloc[5:10, 0:1] + 30 br_y = df.iloc[5:10, 1:2] + 30 tl_x = (tl_x.to_string(index=False, header=False)) tl_y = (tl_y.to_string(index=False, header=False)) br_x = (br_x.to_string(index=False, header=False)) br_y = (br_y.to_string(index=False, header=False)) tl_list = (tl_x, tl_y) br_list = (br_x, br_y) object_list.append(obj) print(tl_list[0])This gives me an output of
Output:1507.50
1507.44
1507.09
1507.00
So as you can see, my index[0] at tl_list[] has these 4 elements. My question is how do i access them individually? To be more specific, I want to pass each value to a function, one at a timeimport os import numpy as np import csv import pandas as pd from generate_xml import write_xml # global constants img = None tl_list = [] br_list = [] object_list = [] tl_x = [] tl_y = [] br_x =[] br_y =[] # constants obj = 'red_hat' df = pd.read_csv('ring_1_05_sam.csv') tl_x = df.iloc[5:10, 0:1] - 30 tl_y = df.iloc[5:10, 1:2] - 30 br_x = df.iloc[5:10, 0:1] + 30 br_y = df.iloc[5:10, 1:2] + 30 tl_x = (tl_x.to_string(index=False, header=False)) tl_y = (tl_y.to_string(index=False, header=False)) br_x = (br_x.to_string(index=False, header=False)) br_y = (br_y.to_string(index=False, header=False)) tl_list = (tl_x, tl_y) br_list = (br_x, br_y) object_list.append(obj) write_xml(image_folder, img, object_list, tl_list, br_list, savedir) tl_list = [] br_list = [] object_list = []So that my write_xml function takes the first value at tl_list and br_list then the next value sequentially. Right now it tales all values at once. Any ideas how i can do it?