2013-04-10 7 views
0

J'écris un script qui va importer une liste d'URL à partir d'un fichier CSV, puis faire une boucle sur les URL pour obtenir une réponse. Lorsque j'importe le fichier CSV, chaque site est entouré de crochets et de guillemets simples.Import CSV avec Python - Pourquoi des crochets?

Mon csv ressemble à ceci:

http://cnn.com 
http://yahoo.com 
http://google.com 

Le nom du csv est sites.csv.

Voici le code que je suis en cours d'exécution:

import csv 

datafile = open('path/to/file/sites.csv', 'rU') 
datareader = csv.reader(datafile) 
for row in datareader: 
    print row 

Voici la sortie:

['http://cnn.com'] 
['http://yahoo.com'] 
['http://google.com'] 

Est-il possible de ne pas inclure le [', '] autour de l'URL lors de la lecture du fichier CSV ? Si ce n'est pas le cas, alors ma solution consiste-t-elle à supprimer les [', '] dans ma boucle, puis à accéder à l'URL?

Répondre

3

Chaque ligne est constituée d'une liste de colonnes python , avec une seule colonne dans ce cas.

Comme sont sans colonnes séparées par des virgules, un seul élément par ligne, vous n'avez pas besoin d'utiliser le module csv ici. Il suffit de lire à partir du fichier directement:

with open('path/to/file/sites.csv', 'rU') as datafile: 
    for line in datafile: 
     print line.strip() 
0

il est un objet de ligne, essayez donc comme ça ...

print row[0] 
+0

mieux vaut ne pas utiliser csv alors –

0

comment combat juste

print map(str.strip,open('path/to/file/sites.csv', 'rU')) 

afaik la poignée de fichier ouvert ne se ordures collectées la prochaine fois qu'il collecte des ordures car il n'aura pas de références