影刀代码版追加写入excel
回答
收藏

影刀代码版追加写入excel

决明
2023-12-05 09:33·浏览量:445
决明
发布于 2023-12-04 20:36更新于 2023-12-05 09:33445浏览

代码:

# # 读取新表和老表

       excel_new = pd.read_excel(r'C:\Users\决明\Desktop\文件处理\处理数据\合并新.xlsx')

       excel_old = pd.read_excel(r'C:\Users\决明\Desktop\文件处理\处理数据\合并老.xlsx')

       # # 按照商品编号将两个表合并

       merged = pd.merge(excel_new, excel_old, on='商品编号', how='outer', suffixes=('_new', '_old'))

       # 找到新增和减少的数据

       diff_add = merged[merged['商品名称_old'].isna()].drop(columns='商品名称_old')

       diff_del = merged[merged['商品名称_new'].isna()].drop(columns='商品名称_new')

       

       # 删除diff_add中列名带_old的列

       diff_add = diff_add.drop(diff_add.filter(regex='_old$').columns, axis=1)

       # 删除diff_del中列名带_new的列

       diff_del = diff_del.drop(diff_del.filter(regex='_new$').columns, axis=1)

       # 调整dataframe的数据,变为可写入excel的数据格式

       diff_add = diff_add.fillna('').astype(str).applymap(lambda x: x.strip() if isinstance(x, str) else '')

       diff_del = diff_del.fillna('').astype(str).applymap(lambda x: x.strip() if isinstance(x, str) else '')

       diff_add_list = diff_add.values.tolist()

       diff_del_list = diff_del.values.tolist()

       # print(diff_add_list)

       # print(type(diff_add_list))

       # 拼接路径

       target_path = os.path.join(glv['决明_path'], glv['dayTime_text'], '预警.xlsx')

       

       # 写入数据到Sheet

       workbook = excel.open(target_path, kind = 'openpyxl', visible = False)

       ws = workbook.get_sheet_by_name('Sheet')

       ws.append_row(diff_add_list)

       ws = workbook.get_sheet_by_name('已减少')

       ws.append_row(diff_del_list)

       # 保存

       workbook.save()


报错信息:

 Cannot convert ['C88888888', '龙肉', '500g/瓶', '广西', '500', '19.0', '82.0', '102.0', '203.0', '556.0', '1638.0', '12.0', '277.0', '', '', '', '', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0', '0', '', '12月拼团', '10', '瓶', '67.667', '79.429', '1191.435', '3.3', '', '7', '3', '绿'] to Excel


问题:想请教一下,把dataframe调整为可写入excel的数据格式并转换为列表,为什么还报这个错误,力竭了兄弟姐妹们,请求支援,请求支援啊!!

尝试过的方案


收藏
全部回答1
最新
发布回答
回答