Je souhaite importer les lignes de données enregistrées dans un fichier CSV Excel. Comment puis-je enregistrer les données de chaque ligne sous forme de liste?
Le fichier Excel contient les types de données suivants:
Name B C D
ItemID 3 3 4
Height 5 5 7
Length 6 5 8
Je souhaite enregistrer [B, C, D] dans une liste nommée Name
et [3,3,4] sous une liste nommée ItemID
. J'ai essayé d'utiliser le code suivant, mais il renvoie toujours la dernière ligne du fichier.
f = open('part.csv', 'r')
csv_f=csv.reader(f,delimiiter=',')
for row in csv_f:
name.append(row[1])
numid.append(row[2])
height.append(row[3])
length.append(row[4])
4 réponses
Je recommande vivement d'envisager d'utiliser pandas la bibliothèque d'analyse de données python.
import pandas as pd
csv_df = pd.read_csv('part.csv')
df_T = csv_df.T
print df_T['ItemID'].tolist()
print df_T.index.tolist()
Je pense que vous comprenez mal qu'une ligne a toutes les colonnes de cette ligne, par exemple la première fois dans la boucle row = ['Name', 'B', 'C', 'D']
.
Utilisez donc un dictionnaire, avec la clé comme première colonne et le reste comme valeur:
data = {}
with open('part.csv', 'r') as f:
csv_f=csv.reader(f,delimiiter=',')
for row in csv_f:
data[row[0]] = row[1:]
Les données:
{'Height': ['5', '5', '7'],
'ItemID': ['3', '3', '4'],
'Length': ['6', '5', '8'],
'Name': ['B', 'C', 'D']}
Essaye ça
with open('testdata.csv') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
name.append(row['fieldname'])
Ce que vous essayez de faire, c'est de travailler avec une trame de données. Essayez d'utiliser la bibliothèque pandas car elle simplifie de nombreuses opérations.
Questions connexes
De nouvelles questions
python
Python est un langage de programmation multi-paradigme, typé dynamiquement et polyvalent. Il est conçu pour être rapide à apprendre, comprendre, utiliser et appliquer une syntaxe propre et uniforme. Veuillez noter que Python 2 est officiellement hors support à partir du 01-01-2020. Néanmoins, pour les questions Python spécifiques à la version, ajoutez la balise [python-2.7] ou [python-3.x]. Lorsque vous utilisez une variante Python (par exemple, Jython, PyPy) ou une bibliothèque (par exemple, Pandas et NumPy), veuillez l'inclure dans les balises.