Convert from CSV to array in Python
Convert from CSV to array in Python
You should use the csv
module:
import csv
results = []
with open(input.csv) as csvfile:
reader = csv.reader(csvfile, quoting=csv.QUOTE_NONNUMERIC) # change contents to floats
for row in reader: # each row is a list
results.append(row)
This gives:
[[0.000264, 0.000352, 8.7e-05, 0.000549],
[0.00016, 0.000223, 1.1e-05, 0.000142],
[0.008853, 0.006519, 0.002043, 0.009819],
[0.002076, 0.001686, 0.000959, 0.003107],
[0.000599, 0.000133, 0.000113, 0.000466],
[0.002264, 0.001927, 0.00079, 0.003815],
[0.002761, 0.00288, 0.001261, 0.006851],
[0.000723, 0.000617, 0.000794, 0.002189]]
If your file doesnt contain parentheses
with open(input.csv) as f:
output = [float(s) for line in f.readlines() for s in line[:-1].split(,)]
print(output);
Convert from CSV to array in Python
The csv
module was created to do just this. The following implementation of the module is taken straight from the Python docs.
import csv
with open(file.csv,rb) as csvfile:
reader = csv.reader(csvfile, delimiter=,, quotechar=|)
for row in reader:
#add data to list or other data structure
The delimiter is the character that separates data entries, and the quotechar is the quotechar.