2017-03-20 4 views
2
  1. Ich versuche, die zu meinem Excel exportierten Spalten neu zu ordnen. Es ist derzeit alphabetisch sortiert. Ich möchte den Nettowert des Verkaufsauftrags, den berechneten Nettowert und dann den offenen Betrag?
  2. Gibt es eine Möglichkeit, die Spalten nur für das Excel umzubenennen? Wie kann ich All in Grand Total am Ende umbenennen?

enter image description hereWie man pandas pivot neu anordnet und umbenennt?

def create_sheet(): 
    scriptfile = open('script.sql', 'r') 
    script = scriptfile.read() 
    df2 = pd.read_sql(script, my_connection) 
    df2 = df2.where((pd.notnull(df2)), None) 
    pivot = pd.pivot_table(df2, 
          index=['Customer_Name'], 
          values=[ 
           'Billed_Net_Value', 
           'Sales_Order_Net_Value', 
           'Open_Amount'], 
          aggfunc=np.sum, 
          margins=True) 

    writer = pd.ExcelWriter('SAP.xlsx', engine='xlsxwriter') 
    pivot.to_excel(writer, sheet_name='Pivot') 
    workbook = writer.book 
    ws = writer.sheets['Pivot'] 

Antwort

2
def create_sheet(): 
    scriptfile = open('script.sql', 'r') 
    script = scriptfile.read() 
    df2 = pd.read_sql(script, my_connection) 
    df2 = df2.where((pd.notnull(df2)), None) 
    pivot = pd.pivot_table(df2, 
          index=['Customer_Name'], 
          values=[ 
           'Billed_Net_Value', 
           'Sales_Order_Net_Value', 
           'Open_Amount'], 
          aggfunc=np.sum, 
          margins=True) 

    col_order = ['Sales_Order_Net_Value', 'Billed_Net_Value', 'Open_Amount'] 
    pivot = pivot[col_order].rename(index=dict(All='Grand Total')) 

    writer = pd.ExcelWriter('SAP.xlsx', engine='xlsxwriter') 
    pivot.to_excel(writer, sheet_name='Pivot') 
    workbook = writer.book 
    ws = writer.sheets['Pivot']