La lecture de fichiers CSV dans numpy où le séparateur est “,”

J'ai un fichier CSV avec un format qui ressemble à ceci:

"FieldName1", "FieldName2", "FieldName3", "FieldName4"

"04/13/2010 14:45:07.008", "7.59484916392", "10", "6.552373"

"04/13/2010 14:45:22.010", "6.55478493312", "9", "3.5378543"

...

Remarque qu'il y a des doubles guillemets au début et à la fin de chaque ligne dans le fichier CSV, et la "," chaîne est utilisée pour délimiter les champs à l'intérieur de chaque ligne. Le nombre de champs dans le fichier CSV peut varier d'un dossier à l'autre.

Lorsque je tente de lire cela dans numpy par:

import numpy as np

data = np.genfromtxt(csvfile, dtype=None, delimiter=',', names=True)

toutes les données est lu en tant que chaîne de valeurs, entouré par des guillemets doubles. Pas déraisonnable, mais pas tellement pour moi que je puis avoir à revenir en arrière et de convertir chaque colonne type correct

Lorsque j'utilise delimiter='","' au lieu de cela, tout fonctionne comme je le voudrais, sauf pour la 1ère et la dernière champs. Comme le début de la ligne et les caractères de fin de ligne sont un guillemet simple, ce n'est pas considéré comme valable délimiteur pour le 1er et le dernier champs, de sorte qu'ils se lire comme par exemple "04/13/2010 14:45:07.008 et 6.552373" - notez l'attaque et de fuite, les guillemets doubles, respectivement. En raison de ces caractères redondants, numpy suppose le 1er et le dernier champs sont les deux types de chaînes; je ne veux pas que ce soit le cas

Est-il un moyen de les instruire de la numpy à lire dans des fichiers formatés de cette façon que je le souhaiterais, sans avoir à revenir en arrière et de "fixer" la structure du tableau numpy après la première lecture?

OriginalL'auteur monch1962 | 2010-04-19