I wrote a script that at one point generates a bunch of empty lists applying a code with the structure:
A,B,C,D=[],[],[],[]
which produces the output:
A=[]
B=[]
C=[]
D=[]
The way it is right now, I have to manually modify the letters each time I use a different dataset as an input. I want to be able to automatize that. I thought about doing this:
FieldList=[A,B,C,D]
bracket=[]
[[0]for field in FieldList]
for field in FieldList:
bracket=bracket+["[]"]
FieldList=bracket
Here I was trying to replicate " A,B,C,D=[],[],[],[]", but evidently that's not how it works.
I also tried:
FieldList=[A,B,C,D]
bracket=[]
[[0]for field in FieldList]
for field in FieldList:
field=[]
But at the end it just produces a single list call "field".
#So, this is what I need the lists for. I will be reading information from a csv and adding the data I'm extracting from each row to the lists. If generate a "list of lists", can I still call each of them individually to append stuff to them?
A,B,C,D=[],[],[],[]
with open(csvPath+TheFile, 'rb') as csvfile: #Open the csv table
r = csv.reader(csvfile, delimiter=';') #Create an iterator with all the rows of the csv file, indicating the delimiter between columns
for i,row in enumerate(r): #For each row in the csv
if i > 0: #Skip header
A.append(float(row[0])) #Extract the information and append it to each corresponding list
B.append(float(row[1]))
C.append(format(row[2]))
D.append(format(row[3]))
You are overcomplicating things. Just use a list or dictionary:
fields = {key: [] for key in 'ABCD'}
then refer to fields['A']
, etc. as needed, or loop over the structure to process each in turn.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With