Maison  >  Article  >  développement back-end  >  Python obtient la méthode de données spécifiée du texte CSV

Python obtient la méthode de données spécifiée du texte CSV

php中世界最好的语言
php中世界最好的语言original
2018-04-09 10:46:157627parcourir

Cette fois, je vais vous présenter la méthode python pour obtenir les données spécifiées du texte csv Quelles sont les précautions pour obtenir les données spécifiées du texte csv en python. est un cas pratique. Jetons un coup d'œil.

csv est l'abréviation de Comma-Separated Values, qui sont des tableauxdonnées stockées sous forme de fichiers texte, comme le tableau suivant :

peut être stocké sous forme de fichier csv. Le contenu du fichier est :

No.,Name,Age,Score
1,Apple,12,98
2,Ben,13,97
3,Celia,14,96
4,Dave,15,95

En supposant que le fichier csv ci-dessus est enregistré sous le nom "A". .csv", comment utiliser Python pour fonctionner comme Excel extrait également l'une des colonnes, c'est-à-dire un champ, à l'aide du module csv fourni avec Python. Il y a deux façons d'y parvenir :

La première méthode utilise la fonction reader pour recevoir un objet itérable (comme un fichier csv) et peut renvoyer un générateur à partir duquel le contenu du csv peut être analysé : par exemple, comme suit Le code peut lire l'intégralité du contenu du csv en ligne unités :

import csv
with open('A.csv','rb') as csvfile:
 reader = csv.reader(csvfile)
 rows= [row for row in reader]
print rows

pour obtenir :

[['No.', 'Name', 'Age', 'Score'],
['1', 'Apple', '12', '98'],
['2', 'Ben', '13', '97'],
['3', 'Celia', '14', '96'],
['4', 'Dave', '15', '95']]

pour en extraire un. Pour une colonne, vous pouvez utiliser le code suivant :

import csv
with open('A.csv','rb') as csvfile:
 reader = csv.reader(csvfile)
 column = [row[2] for row in reader]
print column

pour obtenir :

['Age', '12', '13', '14', '15']

Notez que toutes les données lues à partir de csv sont de type str. Cette méthode nécessite de connaître le numéro de colonne à l'avance, par exemple, Age est dans la colonne 2, et vous ne pouvez pas interroger en fonction du titre de « Âge ». La deuxième méthode peut être utilisée à ce moment :

La deuxième méthode consiste à utiliser DictReader et le lecteur function De même, la réception d'un objet itérable peut renvoyer un générateur, mais chaque cellule renvoyée est placée dans la valeur d'un dictionnaire, et la clé de ce dictionnaire est le titre (c'est-à-dire l'en-tête de colonne) de la cellule. Vous pouvez voir la structure de DictReader avec le code suivant :

import csv
with open('A.csv','rb') as csvfile:
 reader = csv.DictReader(csvfile)
 column = [row for row in reader]
print column

Obtenez :

[{'Age': '12', 'No.': '1', 'Score': '98', 'Name': 'Apple'},
{'Age': '13', 'No.': '2', 'Score': '97', 'Name': 'Ben'},
{'Age': '14', 'No.': '3', 'Score': '96', 'Name': 'Celia'},
{'Age': '15', 'No.': '4', 'Score': '95', 'Name': 'Dave'}]

Si nous voulons utiliser DictReader pour lire une certaine colonne de csv, juste Vous pouvez utiliser le titre de la colonne pour interroger :

import csv
with open('A.csv','rb') as csvfile:
 reader = csv.DictReader(csvfile)
 column = [row['Age'] for row in reader]
print column

et vous obtiendrez :

['12', '13', '14', '15']

Je crois que vous maîtrisez la méthode après avoir lu C'est le cas dans cet article. Veuillez prêter attention aux choses plus intéressantes. Autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Comment lire par lots des fichiers txt au format DataFrame avec python

Comment Python appelle MySQL pour mettre à jour données

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn