昨天的累计加上今天的累计 pyinstaller 用pip安装最好选早上,晚上使用高峰,下载了好几次也不成功
系统64的就用64的pyinstaller 否则打包错误
pyinstaller -F test.py 单文件
如果 pyinstaller test.py 这个打包会生成整体文件,并且代码文件以后可以直接运行,修改后也不需要再重新打包
import openpyxl
import sys
import msvcrt
import os
#from openpyxl.styles import Font
try:
name = input("把程序放到表格所文件夹,关闭表格,已填入数据的表格名称是")
path1 = os.path.abspath('.') #找到所在路径
path0 = os.path.join(path1,name+'.xlsx') #加入输入的名字 拼接
#wb0=openpyxl.load_workbook ("E:\\pythion\\"+name+".xlsx")
wb0=openpyxl.load_workbook (path0) #直接打开路径
ws0=wb0.active
if ws0['H20'].value != None:
print("表格名称输入有误输入D退出")
while True:
if ord(msvcrt.getch()) in [68, 100]:
print("1111")
sys.exit()
break
print("成功找到了表"+name)
except OSError:
print("没找到表"+name+"输入D退出")
while True:
if ord(msvcrt.getch()) in [68, 100]:
sys.exit()
break
try:
name0=str(int(name)-1)
path = os.path.join(path1,name0+'.xlsx')
wb=openpyxl.load_workbook (path)
ws=wb.active
except OSError:
print("没找到原始表"+name0+"输入D退出")
while True:
if ord(msvcrt.getch()) in [68, 100]:
sys.exit()
break
def isNone(ab):
if ab == None :
ab=0
return (ab)
else :
return (ab)
row_N=['4','5','6','7','8','9']
for row_cell in row_N:
ws0['H'+row_cell].value=0
for R_roll in ws0['D'+row_cell:'G'+row_cell]:
for each_cell in R_roll:
ws0['H'+row_cell].value +=isNone(each_cell.value)
ws0['I'+row_cell].value=isNone(ws0['H'+row_cell].value)+isNone(ws['I'+row_cell].value)
'''
if each_cell.value ==None :
continue
ws0['I'+row_cell].value=isNone(ws['I'+row_cell].value)
else:
ws0['H'+row_cell].value += each_cell.value
ws0['I'+row_cell].value=ws0['H'+row_cell].value+ws['I'+row_cell].value
'''
if ws0['H'+row_cell].value==0 :
ws0['H'+row_cell].value=None
ws0['I'+row_cell].value=None
col_N=['D','G','E','F','G','H']
for col_cell in col_N:
ws0[col_cell+'20'].value=0
ws0[col_cell+'21'].value=0
for E_col in ws0[col_cell+'4':col_cell+'9']:
for each_cell in E_col:
if each_cell.value ==None :
continue
else:
ws0[col_cell+'20'].value += each_cell.value
if ws0[col_cell+'20'].value==0 :
ws0[col_cell+'21'].value=ws[col_cell+'21'].value
ws0[col_cell+'20'].value=None
else:
ws[col_cell+'21'].value= isNone(ws[col_cell+'21'].value)
ws0[col_cell+'21'].value = ws0[col_cell+'20'].value+ws[col_cell+'21'].value
if ws0[col_cell+'21']==ws0['H21']:
ws0['I21'].value=ws0['H21'].value
ws0['I21'].value=ws0['I21'].value+isNone(ws['I21'].value)
ws0['H21'].value=None
'''
row_N=['5','7','9','18','20']
for row_cell in row_N:
for R_roll in ws0['N'+row_cell:'Q'+row_cell]:
for each_cell in R_roll:
if each_cell.value ==None :
ws0['N'+row_cell].value=ws['N'+row_cell].value
else:
ws[col_cell+'21'].value= isNone(ws[col_cell+'21'].value)
ws0['N'+row_cell].value = ws0['N'+str(int(row_cell)-1)].value+ws0['N'+row_cell].value
'''
ws0['O4'].value=ws0['E20'].value
ws0['N4'].value=ws0['D20'].value
ws0['O4'].number_format="#,##0"
ws0['N4'].number_format="#,##0"
col_I=['N','O','P','Q']
row_H=['5','7','9','20']
for row_cell in row_H:
for col_cell in col_I:
ws0[col_cell+row_cell].value=isNone(ws0[col_cell+str(int(row_cell)-1)].value)+ isNone(ws[col_cell+row_cell].value)
if ws0[col_cell+row_cell].value==0:
ws0[col_cell+str(int(row_cell)-1)].value=None
ws0[col_cell+row_cell].value=None
#累加
wb0.save("E:\\pythion\\"+name+".xlsx")
print("计算成功!!!输入D退出")
while True:
if ord(msvcrt.getch()) in [68, 100]:
sys.exit()
break
'''
for i in range(4,10):
a='D'+str(i)
b='E'+str(i)
c='G'+str(i)
if ws0[a].value ==None:
ws0[a].value=0
if ws0[b].value==None:
ws0[a].value = None
print(ws0[c].value)
else:
ws0[c].value=ws0[a].value+ws0[b].value
print(ws0[c].value)
elif ws0[b].value==None:
ws0[b].value=0
ws0[c].value=ws0[a].value+ws0[b].value
ws0[b].value=None
print(ws0[c].value)
else:
ws0[c].value=ws0[a].value+ws0[b].value
print(ws0[c].value)
wb0.save(r"E:\pythion\170101.xlsx")
'''
'''
def isNone(ab):
if ab == None :
ab=0
return (ab,None)
else :
return (ab,ab)
print(isNone(None))
for i in range(4,10):
a='D'+str(i)
b='E'+str(i)
c='H'+str(i)
ws0[a].value,ja= isNone(ws0[a].value)
ws0[b].value,jb= isNone(ws0[b].value)
ws0[c].value=ws0[a].value+ws0[b].value
ws0[a].value=ja
ws0[b].value=jb
if ws0[c].value==0:
ws0[c].value=None
print(ws0[c].value)
'''