So im running into a problem, I want to make this code run every 10 seconds for example. For some reason python doesn't recognise the value "text" when inserted in a function.
Traceback (most recent call last):
File "C:\Users\eschbachm\OneDrive - EXP\Desktop\code\CAT - Version Finale.py", line 149, in <module>
run()
File "C:\Users\eschbachm\OneDrive - EXP\Desktop\code\CAT - Version Finale.py", line 123, in run
ma(", ".join(text.split()))
File "C:\Users\eschbachm\OneDrive - EXP\Desktop\code\CAT - Version Finale.py", line 69, in ma
for line in text:
NameError: name 'text' is not defined. Did you mean: 'next'?
import os import docx2txt import re import pandas as pd import numpy as np import openpyxl import time import schedule #variables path = r"C:\Users\eschbachm\OneDrive - EXP\Desktop\test" os.chdir(path) #Colonne total col1 = [] col2 = [] col3 = [] col4 = [] col5 = [] col6 = [] col7 = [] col8 = [] col9 = [] col10 = [] col11 = [] col12 = [] #lists vet = "" #Sends vet list to string for j in vet: vet += j + ", " def ma(vet): #Colonne 1 result = re.search('Transport, (.*)Contact', vet) result_1 = (result.group(1)).replace(",", "") Tra = result_1 col1.append(Tra) #Colonne 2 VQ = '' col2.append(VQ) #Colonne 3 result = re.search('(.*)LOCATION', vet) result_3 = (result.group(1)).replace(",", "") FT = result_3 col3.append(FT) #Colonne 4 result = re.search('Date, (.*)Numéro', vet) result_4 = (result.group(1)).replace(",", "") Date = result_4 col4.append(Date) #Colonne 5 result = re.search('Prix, (.*)Modèle', vet) result_5 = (result.group(1)).replace(",", "") Prix = result_5 col5.append(Prix) #Colonne 6 result = re.search('Compte, (.*)Accessoires', vet) #recherche valeur de GL result_6 = (result.group(1)).replace(",", "") GL = result_6 #Colonne 7 result = re.search('DBS, (.*)Transport', vet) #recherche valeur de PO result_7 = (result.group(1)).replace(",", "") PO = result_7 a = 0 b = 0 c = 0 for line in text: # checking string is present in line or not if GL != "" and PO != "": #si Gl et PO sont present en meme temps a = 1 elif GL != "": #si Gl est present et non PO b = 2 elif PO != "": #si PO est present et non GL c = 3 break if a == 0: pass else: #si Gl et PO sont present en meme temps col6.append(GL) col7.append(PO) if b == 0: pass else: #si Gl est present et non PO col6.append(GL) col7.append('') if c == 0: pass else: #si PO est present et non GL col6.append('') col7.append(PO) if a == 0 and b == 0 and c == 0: col6.append('') col7.append('') #Colonne 8 IMACS = '' col8.append(IMACS) #Colonne 9 Notes = '' col9.append(Notes) #Colonne 10 result = re.search('par, (.*)De', vet) #recherche valeur de DP result_10 = (result.group(1)).replace(",", "") DP = result_10 col10.append(DP) #Colonne 11 result = re.search('De, (.*)À', vet) #recherche valeur de origine result_11 = (result.group(1)).replace(",", "") ORI = result_11 col11.append(ORI) #Colonne 12 result = re.search('À, (.*)Prix', vet) #recherche valeur de destination result_12 = (result.group(1)).replace(",", "") DEST = result_12 col12.append(DEST) def run(): for f in os.listdir(path): if f.endswith('.docx'): text = docx2txt.process(f).replace(":", " ").replace(",", " ").replace("_", " ") ma(", ".join(text.split())) print('Transfert de donnée Réussi!') # Creating the first Dataframe using dictionary data1 = { "Transporteur": col1, "#Fournisseur": col2, "FT#": col3, "Date ceuillette": col4, "Prix": col5, "GL": col6, "PO#": col7, "IMACS/CC/W/O": col8, "Notes si requis": col9, "Transport demandé par": col10, "Origine": col11, "Destination": col12} df1 = pd.DataFrame(data=data1) df1 = df1.sort_values('Date ceuillette', ascending=True) # load df to existing excel with pd.ExcelWriter('output.xlsx', mode='a', if_sheet_exists="replace") as writer: df1.to_excel(writer, sheet_name='Sheet_name1') schedule.every(10).seconds.do(run) while 1: schedule.run_pending() time.sleep(2)Python gives me this error:
Traceback (most recent call last):
File "C:\Users\eschbachm\OneDrive - EXP\Desktop\code\CAT - Version Finale.py", line 149, in <module>
run()
File "C:\Users\eschbachm\OneDrive - EXP\Desktop\code\CAT - Version Finale.py", line 123, in run
ma(", ".join(text.split()))
File "C:\Users\eschbachm\OneDrive - EXP\Desktop\code\CAT - Version Finale.py", line 69, in ma
for line in text:
NameError: name 'text' is not defined. Did you mean: 'next'?