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.

Leave a Reply

Your email address will not be published. Required fields are marked *