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

Résolu
Nico_420 Messages postés 3 Statut Membre -  
Nico_420 Messages postés 3 Statut Membre -
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

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour,
    à quelle ligne obtiens-tu cette erreur?
    as-tu commencé par un exercice plus simple avec execute au lieu de executemany?
    0
  2. Nico_420 Messages postés 3 Statut Membre
     
    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