import os import win32com.client as win32 import shutil import openpyxl import docx ##### El primer paso es colocar el archivo xlsx en la carpeta original y copiarlo directamente en la carpeta bak, cortar rst str01_row = 0 str01_column = 0 mydir = 'bak' si os.path.exists (mydir): shutil.rmtree ('bak') os.mkdir (mydir) str01 = '' file = [] path = os.getcwd () # El directorio de archivos donde el programa se encuentra antes de la conversión path_bak = os.getcwd () + r '/ bak /' pathdir = os.listdir (ruta) print (pathdir) para s en pathdir: newdir = os.path.join (ruta, s) si os. path.isfile (newdir): os.chdir (path_bak) pathdir_bak = os.listdir (path_bak) # print (pathdir_bak) si os.path.splitext (newdir) [1] == ".xls": t = os.path.split (s) [1] + r'x ' si os.path.exists (t ): # print (os.path.exists (os.path.split (s) [1])) break else: excel = win32.gencache.EnsureDispatch ('Excel.Application') wb = excel.Workbooks.Open (newdir ) # print (newdir) path_dir = os.path.split (newdir) [0] path_file = os.path.split (newdir) [1] # print (path_dir) # print (path_file) wb.SaveAs (path_dir + '/ bak /' + path_file + 'x', FileFormat = 51) # FileFormat = 51 es para la extensión .xlsx wb.Close () # FileFormat = 56 es para la extensión .xls excel.Application.Quit () elif os.path.splitext (newdir) [1] == ".xlsx": file.append (newdir) elif os.path .isdir (newdir): continuar para i en el rango (len (archivo)): pcm_file = file [i] path_0 = os.path.split (file [i]) [0] path_1 = os.path.split (file [ i]) [1] oldname = path_0 + '/' + path_1 newname = path_0 + r '/ bak /' + path_1 shutil.copyfile (oldname, newname) ##### El segundo paso es cambiar el directorio de archivos a el archivo bak En la carpeta, corte uvw pathdir_deal = os.listdir (path_deal) file_deal = [] path_deal = os.getcwd () # El directorio de archivos donde se encuentra el programa antes de la conversión para u en pathdir_bak: newdir_deal = os.path.join (path_deal, u) file_deal.append (newdir_deal) # print (file_deal) for j in range (len (file_deal)): pcm_file_deal = file_deal [j] path_0_deal = os.path.split (file_deal [j]) [0] # El directorio donde se encuentra el archivo path_1_deal = os.path.split (file_deal [j]) [1] # Nombre de archivo con sufijo # print (pcm_file_deal) # print (path_0_deal) print (path_1_deal) wb = openpyxl.load_workbook (path_1_deal) allSheets = wb.get_sheet_names () for i in range (len (allSheets) ): sheet = wb.get_sheet_by_name (allSheets [i]) for row in sheet.iter_rows (): para celda en fila: if str (str (cell.value) .replace ('', '')). find ("Limitar a los principales indicadores económicos de las empresas")! = -1: sheet_selected = wb .get_sheet_by_name (allSheets [i]) print (sheet_selected) print (path_1_deal) fn = path_1_deal ws = wb.get_sheet_by_name (sheet_selected.title) break ############ Balance 1 comienzo del inventario ### ## ###### Inventario del balance al comienzo del año para la fila en ws.iter_rows (): para la celda en la fila: if str (str (cell.value) .replace ('', '')) .find ("Total")! = -1: str01_row = cell.row print (cell.row) print (str01_row) más: ws_str01 = 0 romper para fila en ws.iter_rows (): para celda en fila: if str (str (cell.value) .replace ('', '')). find ("上年 同期")! = -1: str01_column = cell.column print (str01_column) break if str01_row == 0 o str01_column == 0: str01 = '' else: if ws.cell (row = str01_row, column = str01_column) .value! = None: str01 = str (ws_fuzhaibiao. celda (fila = nianchucunhuo_row, columna = nianchucunhuo_column) .value) .replace (',', '') str = '济南 市 财务 季报 上报 单位' print (str01) wdoc = docx.Document () ptr = wdoc.add_paragraph (str) wdoc.save ('Informe financiero trimestral.docx')
Informe financiero trimestral
Supongo que te gusta
Origin blog.csdn.net/jidawanghao/article/details/112807712
Recomendado
Clasificación