def text_al(self, dosya_yolu): p = [] t1 = [] t2 = [] flag = 0 if (dosya_yolu.endswith("doc")): cwd = os.getcwd() #libreoffice --convert-to docx 0020.doc dir_path = os.path.dirname(os.path.realpath(dosya_yolu)) #output_file = dosya_yolu + "x" rc = subprocess.call([ 'libreoffice', '--convert-to', 'docx', '--outdir', dir_path, dosya_yolu ]) output_file = os.path.join( cwd, "tmp/" + os.path.basename(dosya_yolu + "x")) for _ in range(5): try: shutil.move(dosya_yolu + "x", output_file) except: time.sleep(1) else: print("file moved") time.sleep(1) break return self.text_al(output_file) if (dosya_yolu.endswith("xls")): cwd = os.getcwd() #libreoffice --convert-to docx 0020.doc dir_path = os.path.dirname(os.path.realpath(dosya_yolu)) #output_file = dosya_yolu + "x" rc = subprocess.call([ 'libreoffice', '--convert-to', 'xlsx', '--outdir', dir_path, dosya_yolu ]) output_file = os.path.join( cwd, "tmp/" + os.path.basename(dosya_yolu + "x")) for _ in range(5): try: shutil.move(dosya_yolu + "x", output_file) except: time.sleep(1) else: print("file moved") time.sleep(1) break return self.text_al(output_file) if (dosya_yolu.endswith("ppt")): cwd = os.getcwd() #libreoffice --convert-to docx 0020.doc dir_path = os.path.dirname(os.path.realpath(dosya_yolu)) #output_file = dosya_yolu + "x" rc = subprocess.call([ 'libreoffice', '--convert-to', 'pptx', '--outdir', dir_path, dosya_yolu ]) output_file = os.path.join( cwd, "tmp/" + os.path.basename(dosya_yolu + "x")) for _ in range(5): try: shutil.move(dosya_yolu + "x", output_file) except: time.sleep(1) else: print("file moved") time.sleep(1) break return self.text_al(output_file) # docx uzantili if (dosya_yolu.endswith("docx")) or (flag == 1): doc = Document(dosya_yolu) paragraphs = doc.paragraphs tables = doc.tables fullText = "" for paragraph in paragraphs: if paragraph != "\n": p.append(paragraph.text) fullText = fullText + paragraph.text + "\n" for table in tables: t1.append(table) #print(table) tmp_t = [] for row in table.rows: tmp_r = [] for cell in row.cells: tmp_r.append(cell.text) #print(cell.text) tmp_t.append(tmp_r) t2.append(tmp_t) #print(tmp_t) return fullText, p, t1, t2 # odt uzantili elif (dosya_yolu.endswith("odt")): #text1 = textract.process(dosya_yolu) doc = load(dosya_yolu) paragraphs = [] txt1 = "" for paragraph in doc.getElementsByType(text.P): if paragraph != "\n": paragraphs.append(paragraph) txt1 += str(paragraph) return txt1, paragraphs #print text1 # pptx uzantili elif (dosya_yolu.endswith("pptx")) or (flag == 2): paragraphs = [] prs = Presentation(dosya_yolu) text_runs = "" for slide in prs.slides: for shape in slide.shapes: if not shape.has_text_frame: continue for paragraph in shape.text_frame.paragraphs: tmp = "" for run in paragraph.runs: tmp += run.text text_runs += run.text paragraphs.append(tmp) for p in paragraphs: if p == "": del p return text_runs, paragraphs # odp uzantili elif (dosya_yolu.endswith("odp")): doc = load(dosya_yolu) paragraphs = [] txt1 = "" for paragraph in doc.getElementsByType(text.P): if paragraph != "\n": paragraphs.append(paragraph) txt1 += str(paragraph) #print (unicode(paragraph)) return txt1, paragraphs # xlsx, xls, ods uzantili elif (dosya_yolu.endswith("xlsx")) or (dosya_yolu.endswith("ods")): data = get_data(dosya_yolu) df_ = [] #print(data) #print(json.dumps(data)) for sheet in data: #print(json.dumps(data[sheet])) try: df = pd.DataFrame(data=data[sheet][1:], columns=data[sheet][0]) except: df = None #df = pd.DataFrame(data[sheet]) #df = pd.DataFrame(data=data[sheet][1:][1:],index=data[sheet][1:][0],columns=data[sheet][0][1:]) df_.append(df) #print(df) #print(data) #print(df_) return data, df_