J'essaie d'envoyer des données Pandas via une requête SQL, puis enregistrer les résultats pivotés dans un fichier .csv. Jusqu'à présent, j'ai réussi.Filtrage Pandas PivotTable
import cx_Oracle
import pandas as pd
query = """
SELECT
dt,
--Workstack,
GM,
COUNT(JOB_NUMBER)
FROM MY_TABLE
GROUP BY
dt,
--Workstack,
GM
"""
connection = cx_Oracle.connect("<My_Username>", "<My Password>", "<Database String>")
df = pd.read_sql_query(query, connection)
piv = df.pivot(index='GM', columns='DT', values='COUNT')
print (piv.head())
piv.to_csv('''Workstack.csv''')
Maintenant, je souhaite inclure le champ « Workstack » utilisé dans la variable de requête et je veux aussi utiliser pandas géants pour filtrer sur différentes chaînes avec le Workstack sur le terrain puis les coller comme différents fichiers csv ou sur le même Excel fichier. Cependant, quand je Workstack inclus dans le python de requête me donne cette erreur ...
ValueError: Index contains duplicate entries, cannot reshape
Toute idée comment je résoudre ce problème? Finalement, je veux utiliser un module Excel python pour coller des tableaux croisés dynamiques comme celui ci-dessus sur des cellules et des feuilles différentes.
Merci :)
essayer de réinitialiser l'index avant de pivotement. Df.reset_index() pivot – skrubber