Je cherche à remplir une base de données a partir d'informations extraites sur le net.
A pres avoir générer une requete sql (insert into ...) je cherche à l'executer dans la BD et c'est la que ça coince. Voici le script:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
url = url1 + url2 + url3
print url
import urllib
f = urllib.urlopen(url, proxies = {'http': 'http://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'})

import psycopg2
connection = psycopg2.connect("dbname='orleans' user='pgadmin' host='localhost' password='pgadmin'")

cur = connection.cursor()
cur.execute("CREATE TABLE geonames (geonames_id integer primary key,iso_alpha2 varchar(2) not null, iso_alpha3 varchar(3) not null, iso_num integer not null, fips_code varchar(2), name varchar(50) not null,capital varchar(50),area real not null, population integer not null, continent varchar(2) not null, language varchar(100), currency varchar(3))"                      
           )                  
connection.commit()

def convert():

      for line in f:
         dp = line.split('	')  
         req ="INSERT INTO Geonames VALUES ("+dp[11] + ",'" + dp[0] + "','" + dp[1] + "'," + dp[2] + ",'" + dp[3] + "','" + dp[4] + "','" + dp[5] + "'," + dp[6] + "," + dp[7] + ",'" + dp[8] + "','" + dp[9] + "','" + dp[10] + "')"
         cur.execute("req")
         connection.commit()
         
convert()

connection.close()