#!/usr/bin/env python#-*- coding:utf-8 -*-
importsavReaderWriter
filepath= "/opt/code/my_code/testStata/5976d077606f07d4418b46eb160938.sav"a= '''Dim m
m = 1
Columns("'''b= '''").Select
m = 1
On Error GoTo Err_Handle'''c= '''For m = 1 To 65
Selection.Find(What:="'''d= '''", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, MatchByte:=False, SearchFormat:=False).Activate
ActiveCell.Replace What:="'''e= '''", Replacement:="'''f= '''", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Next m'''g= '''Exit Sub
Err_Handle:
End Sub'''sum=0
totalStr= '\n************hello************\n\n'excelList= ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',"AA","AB","AC","AD","AE","AF","AG","AH","AI","AJ","AK","AL","AM","AN","AO","AP","AQ","AR","AS","AT","AU","AV","AW","AX","AY","AZ","BA","BB","BC","BD","BE","BF","BG","BH","BI","BJ","BK","BL","BM","BN","BO","BP","BQ","BR","BS","BT","BU","BV","BW","BX","BY","BZ","CA","CB","CC","CD","CE","CF","CG","CH","CI","CJ","CK","CL","CM","CN","CO","CP","CQ","CR","CS","CT","CU","CV","CW","CX","CY","CZ","DA","DB","DC","DD","DE","DF","DG","DH","DI","DJ","DK","DL","DM","DN","DO","DP","DQ","DR","DS","DT","DU","DV","DW","DX","DY","DZ","EA","EB","EC","ED","EE","EF","EG","EH","EI","EJ","EK","EL","EM","EN","EO","EP","EQ","ER","ES","ET","EU","EV","EW","EX","EY","EZ","FA","FB","FC","FD","FE","FF","FG","FH","FI","FJ","FK","FL","FM","FN","FO","FP","FQ","FR","FS","FT","FU","FV","FW","FX","FY","FZ","GA","GB","GC","GD","GE","GF","GG","GH","GI","GJ","GK","GL","GM","GN","GO","GP","GQ","GR","GS","GT","GU","GV","GW","GX","GY","GZ","HA","HB","HC","HD","HE","HF","HG","HH","HI","HJ","HK","HL","HM","HN","HO","HP","HQ","HR","HS","HT","HU","HV","HW","HX","HY","HZ","IA","IB","IC","ID","IE","IF","IG","IH","II","IJ","IK","IL","IM","IN","IO","IP","IQ","IR","IS","IT","IU","IV","IW","IX","IY","IZ","JA","JB","JC","JD","JE","JF","JG","JH","JI","JJ","JK","JL","JM","JN","JO","JP","JQ",
]defreadSpss():
with savReaderWriter.SavReader(filepath, ioUtf8=True) as read:
ret=read.getSavFileInfo()return ret[4], ret[2], ret[5], ret[6]defvbaStr(totalStr, sum, readSpss):
formats, varnames, varLabels, valueLabels=readSpss()for i inrange(len(varnames)):if varnames[i] invalueLabels:
subvalueLables={}for j invalueLabels[varnames[i]]:
subvalueLables[int(j)]=valueLabels[varnames[i]][j]#totalStr += a + excelList[i] + ":" + excelList[i] + b
for zz insubvalueLables:
totalStr+= a + excelList[i] + ":" + excelList[i] +b
totalStr+= c + subvalueLables[zz] + d + subvalueLables[zz] + e + str(zz) +f
totalStr+=g
sum+= 1totalStr+= "\n************hello************\n\n"
#totalStr += g
totalStr += "=============================\n\n"
else:continue
returntotalStr, sum
totalStr, sum=vbaStr(totalStr, sum, readSpss)print(totalStr)print(sum)