代码:
# # 读取新表和老表
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的数据格式并转换为列表,为什么还报这个错误,力竭了兄弟姐妹们,请求支援,请求支援啊!!