簡體   English   中英

將數據導出到 Excel 時出現 Pandas 錯誤

[英]Getting Pandas error while exporting data to excel

獲取熊貓錯誤為:ValueError:操作數無法與形狀一起廣播 (4,) (2,2)

嘗試在 excel 中導出詳細信息,我嘗試使用以下代碼:

預期輸出:選定的客戶名稱:名稱 1、名稱 2 用於設計:CUST 選定的客戶名稱:值名稱 3、名稱 4 用於設計:ORDER

已嘗試以下代碼:

import pandas as pd
import xlsxwriter

workbook   = xlsxwriter.Workbook('file.xlsx')
worksheet1 = workbook.add_worksheet()

def CUST1(): 
    df = pd.DataFrame([
    ['CUST', 'name1', 'PIZZA', 'A'],
    ['CUST', 'name2', 'DONUT', 'A'],
    ['ORDER', 'name3', 'CAKE','B'],
    ['ORDER', 'name4', 'COOKIES', 'C']
    ],
    columns=("DESIG", "NAMES", "CITIES", "CLASS"))
    ORD = pd.concat((df['DESIG'],df.groupby('DESIG') 
    ['NAMES'].transform(lambda x: ", ".join(x))), 
    axis=1).drop_duplicates()
    print(ORD)
    for x, name in enumerate(ORD):
     worksheet1.write(x, 0, "selected customer names" 
     + df['DESIG'] + "for" +df.groupby('DESIG') 
     ['NAMES'])
CUST1()
workbook.close()

根據提供的預期輸出,這應該是您想要的。 我只是使用了 dataFrame ORD,因為它包含所有必要的信息,而無需進行更多的數據轉換。

import pandas as pd
import xlsxwriter

workbook   = xlsxwriter.Workbook('file.xlsx')
worksheet1 = workbook.add_worksheet()

def CUST1(): 
    df = pd.DataFrame([
    ['CUST', 'name1', 'PIZZA', 'A'],
    ['CUST', 'name2', 'DONUT', 'A'],
    ['ORDER', 'name3', 'CAKE','B'],
    ['ORDER', 'name4', 'COOKIES', 'C']
    ],
    columns=("DESIG", "NAMES", "CITIES", "CLASS"))
    ORD = pd.concat((df['DESIG'],df.groupby('DESIG') 
    ['NAMES'].transform(lambda x: ", ".join(x))), 
    axis=1).drop_duplicates()

    for x in range(len(ORD)):
        worksheet1.write_string(x, 0, "selected customer names: " 
         + ORD['NAMES'].iloc[x] + " for the desig: " +  ORD['DESIG'].iloc[x])
CUST1()
workbook.close()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM