Creating a list using csv.reader()
I'm trying to create a list in python from a csv file. The CSV file contains only one column, with about 300 rows of data. The list should (ideally) contain a string of the data in each row.
When I execute the below code, I end up with a list of lists (each element is a list, not a string). Is the CSV file I'm using formatted incorrectly, or is there something else I'm missing?
filelist =  with open(r'D:\blah\blahblah.csv', 'r') as expenses: reader = csv.reader(expenses) for row in reader: filelist.append(row)
row is a row with one field. You need to get the first item in that row:
Or more concisely:
filelist = [row for row in csv.reader(expenses)]
It seems your "csv" doesn't contain any seperator like ";" or ",". Because you said it only contains 1 column. So it ain't a real csv and there shouldn't be a seperator.
so you could simply read the file line-wise:
filelist =  for line in open(r'D:\blah\blahblah.csv', 'r').readlines(): filelist.append(line.strip())
Each row is read as list of cells. So what you want to do is
output = [ row for row in reader ]
since you only have the first cell filled out in each row.