In questo momento, quando stampo gameuniqueteams
mostra come una stringa. Su SQL, ad ogni riga una nuova squadra viene aggiunto mentre voglio che ciascuno di mostrare singolarmente. In questa fase, gameuniqueteams mostreranno la seguente stringa
['Arsenal', 'Bournemouth', 'Brighton', 'Burnley', 'Chelsea']
Voglio che mostrare per ogni riga in modo che quando mi trasferisco a SQL ciascuno spettacoli del team di fila per sé.
['Arsenal']
['Bournemouth']
['Brighton']
['Burnley']
['Chelsea']
Questo è tutto il mio codice in caso aiuta! Cosa dovrei fare?
#!/usr/bin/python
# -*- coding: utf-8 -*-
import psycopg2
import sys
import csv
from itertools import count, cycle
from _tkinter import create
from setuptools.dist import sequence
from email.policy import default
path = r'C:\Users\sammy\Downloads\E0.csv'
with open(path, r) as csvfile:
readCSV = csv.reader(csvfile, delimiter=,)
firstline = 1
con = None
con = psycopg2.connect(host='localhost' dbname='football' user='postgres' password='XXX')
cur = con.cursor()
cur.execute(DROP TABLE teams)
cur.execute(CREATE TABLE teams (HomeTeamID SERIAL PRIMARY KEY, AllTeams123 VARCHAR))
hometeams = []
awayteams = []
uniqueteams = []
allteams = []
gameuniqueteams = []
try:
for row in readCSV:
if firstline:
firstline=0
continue
HomeTeam = row[2]
AwayTeam = row[3]
hometeams.append(HomeTeam)
awayteams.append(AwayTeam)
allteams = hometeams + awayteams
for x in allteams:
if x not in uniqueteams:
uniqueteams.append(x)
gameuniqueteams = sorted(uniqueteams)
for x in gameuniqueteams:
print (x)
gameuniqueteams = (x)
data1 = (gameuniqueteams,)
query1 = INSERT IGNORE INTO teams (AllTeams123) VALUES (%s);
cursor = con.cursor()
cursor.execute(query1, data1)
except psycopg2.DatabaseError as e:
if con:
con.rollback()
print (Error %s % e, e)
sys.exit(1)
finally:
if con:
con.commit()
con.close()