Error occurred: Python value of type Series , csv oracle pandas

Résolu/Fermé
Nico_420 Messages postés 3 Date d'inscription jeudi 2 juillet 2020 Statut Membre Dernière intervention 7 juillet 2020 - Modifié le 2 juil. 2020 à 11:11
Nico_420 Messages postés 3 Date d'inscription jeudi 2 juillet 2020 Statut Membre Dernière intervention 7 juillet 2020 - 2 juil. 2020 à 11:38
Bonjour, suite à un stage j'ai un projet à réaliser ou une partie de ce projet consiste à importer un fichier csv dans une table oracle ( que j'ai appellé CSV_TABLE ) et c'est tout nouveau pour moi mais avec google j'arrive plus ou moins à faire des choses cependant la je suis bloqué je n'arrive pas a trouvé a quoi correspond mon erreur, pourriez vous m’éclaircir ?

Mon fichier csv comporte 3 colonnes (CODE , LIBELLE et NOMENCLATURE_ORIGINE) séparé par des points virgule.

On regardant sur internet j'ai voulu essayé de m'aider de pandas mais la je c'est pas si c'était la bonne idée ?

J'ai remplacé volontairement les lignes 4,5 et 6 au cas ou, sinon les autre lignes correspondent a mon code

Dans la ligne 17 de mon code je ne sais pas vraiment ce que je dois écrire après chaque 2 points

Voici mon code :

import cx_Oracle   
import pandas   

username = '*****'    
password = '*****'    
dsn = '*****'    

df = pandas.read_csv( ' PCS-ES (1).csv ' , sep=' ; ' , encoding = ' UTF-8 ' )  
saved_code = df.CODE    
saved_libelle = df.LIBELLE    
saved_nomenclature_origine = df.NOMENCLATURE_ORIGINE   

def insert_CSV_TABLE(tables_a_ajouter):    


    sql = ('insert into CSV_TABLE(CODE, LIBELLE, NOMENCLATURE_ORIGINE) '     
        'values(:CODE,:LIBELLE,:NOMENCLATURE_ORGINE)')   

    try:    
        with cx_Oracle.connect(username,password,dsn) as connection:    
            with connection.cursor() as cursor:    

                cursor.executemany(sql, tables_a_ajouter)    
                connection.commit()   

    except cx_Oracle.Error as error:    

        print('Error occurred:')    
        print(error)    

tables_ajout = [(saved_code,saved_libelle,saved_nomenclature_origine)]    
insert_CSV_TABLE(tables_ajout)    



Voici mon erreur :

Error occurred:
Python value of type Series not supported.

Process finished with exit code 0

2 réponses

yg_be Messages postés 23346 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 24 novembre 2024 Ambassadeur 1 552
2 juil. 2020 à 11:25
bonjour,
à quelle ligne obtiens-tu cette erreur?
as-tu commencé par un exercice plus simple avec execute au lieu de executemany?
0
Nico_420 Messages postés 3 Date d'inscription jeudi 2 juillet 2020 Statut Membre Dernière intervention 7 juillet 2020
2 juil. 2020 à 11:38
Bon j'ai finalement réussi a faire ce que je voulais faire, je poste le code au cas ou une personne était dans le même problème que moi :

import cx_Oracle
import pandas
username = '*****'
password = '*****'
dsn = '*****'
i = 0

df = pandas.read_csv('PCS-ES (1).csv', sep=';', encoding='UTF-8')
saved_code = df.CODE
saved_libelle = df.LIBELLE
saved_nomenclature_origine = df.NOMENCLATURE_ORIGINE


def insert_CSV_TABLE(tables_a_ajouter):


    sql = ('insert into CSV_TABLE(CODE, LIBELLE, NOMENCLATURE_ORIGINE) ' #NOM COLONNE TABLE_CSV
        'values(:CODE,:LIBELLE,:NOMENCLATURE_ORIGINE)')

    try:
        with cx_Oracle.connect(username,password,dsn) as connection:
            with connection.cursor() as cursor:
                cursor.executemany(sql, tables_a_ajouter)
                connection.commit()
    except cx_Oracle.Error as error:
        print('Error occurred:')
        print(error)

while i < 100 : # tableau de 100 ligne 
    tables_ajout = [(saved_code[i], saved_libelle[i], saved_nomenclature_origine[i])]
    insert_CSV_TABLE(tables_ajout)
    i += 1
0