[英]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.