pandas操作excel
import pandas as pdimport numpy as np
#将表格数据转化成列表
def main(file_dj, file_dz, sheet_name):
a = file_dj
a1 = file_dz
b = pd.read_excel(a,sheet_name=sheet_name,dtype={"条形码":str})
b1 = pd.read_excel(a1,dtype={"条码":str})
b1=b1[['条码', '商家编码']]
# 调整条码字段为文
b1.columns=['条形码','商家编码']
# 将表格向下填充
df1 = b.isnull()]
df1['物流编号'] = df1['物流编号'].fillna(method='ffill')
# 2个表格根据条码进行做匹配
outer = pd.merge(df1,b1,on='条形码',how='left')
outer1=outer.isnull()|outer['货品数量'].notnull()]
df2 = outer1 != 0]
# 获取快递单号列表,并去重复
c = df2['物流编号'].values.tolist()
#print(len(c),c)
list_kd = list(set(c))
#print(list_kd)
#循环每个快递单号,获取所有的产品信息数据
y = []
for i in list_kd:
e = {}
p = {}
de = df2 == i][['商家编码', '货品数量']].values.tolist()
for h in de:
p] = h
e['快递单号'] = i
e['data'] = p
y.append(e)
#print(y)
return (y)
def pd_nan(values_nan):
if values_nan is np.nan:
return 1
def shuliangcuowu(file_dj, sheet_name):
a=pd.read_excel(file_dj,sheet_name=sheet_name)
b=a=='数量错误']
c=b['物流编号'].values.tolist()
list_kd = list(set(c))
y = []
for i in list_kd:
e = {}
p = {}
de ={np.nan: 2}
e['快递单号'] = i
e['data'] = de
y.append(e)
#print(y)
return (y)
def rizhi(file_dj, sheet_name):
a=pd.read_excel(file_dj,sheet_name=sheet_name)
b=a=='无源单']
c=b[['物流编号',"操作结果"]].values.tolist()
return c 哇,这个看起来好优秀的样子,学习了 之前用过,看官方文档学会的:lol 完全看不懂{:1_937:} 很优秀。read_excel这个是读,保存如何使用 帮上传一下excel数据模板,就可以测试一下,看看效果了! pujenyuan 发表于 2024-5-19 10:31
很优秀。read_excel这个是读,保存如何使用
to_excel() 不完整啊,也没有自定义函数调用 学习一下,看看 好高大上的样子,学习学习
页:
[1]