Informe financiero trimestral

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')

Supongo que te gusta

Origin blog.csdn.net/jidawanghao/article/details/112807712
Recomendado
Clasificación