web-dev-qa-db-fra.com

Comment lire une seule ligne de données csv en Python?

Il y a beaucoup d'exemples de lecture de données csv en utilisant python, comme celui-ci:

import csv
with open('some.csv', newline='') as f:
  reader = csv.reader(f)
  for row in reader:
    print(row)

Je veux seulement lire une ligne de données et la saisir dans diverses variables. Comment je fais ça? J'ai cherché partout un exemple de travail.

Mon code ne récupère que la valeur pour i, et aucune des autres valeurs

reader = csv.reader(csvfile, delimiter=',', quotechar='"')
for row in reader:
  i = int(row[0])
  a1 = int(row[1])
  b1 = int(row[2])
  c1 = int(row[2])
  x1 = int(row[2])
  y1 = int(row[2])
  z1 = int(row[2])
62
andrebruton

Pour lire uniquement la première ligne du fichier csv, utilisez next() sur l'objet lecteur.

with open('some.csv', newline='') as f:
  reader = csv.reader(f)
  row1 = next(reader)  # gets the first line
  # now do something here 
  # if first row is the header, then you can do one more next() to get the next row:
  # row2 = next(f)

ou :

with open('some.csv', newline='') as f:
  reader = csv.reader(f)
  for row in reader:
    # do something here with `row`
    break
115
Ashwini Chaudhary

vous pouvez obtenir seulement la première ligne comme:

with open('some.csv', newline='') as f:
  csv_reader = csv.reader(f)
  csv_headings = next(csv_reader)
  first_line = next(csv_reader)
22
dm03514

Vous pouvez utiliser la bibliothèque Pandas pour lire les premières lignes de l’énorme ensemble de données.

import pandas as pd

data = pd.read_csv("names.csv", nrows=1)

Vous pouvez mentionner le nombre de lignes à lire dans le paramètre nrows.

16

De la documentation Python :

Et bien que le module ne supporte pas directement l’analyse de chaînes, cela peut être facilement fait:

import csv
for row in csv.reader(['one,two,three']):
    print row

Il suffit de déposer vos données de chaîne dans une liste de singleton.

10
Robert Elwell

Le moyen simple d'obtenir n'importe quelle ligne dans un fichier csv

import csv
csvfile = open('some.csv','rb')
csvFileArray = []
for row in csv.reader(csvfile, delimiter = '.'):
    csvFileArray.append(row)
print(csvFileArray[0])
5
Oscar.Chou