Advertisement
nicuf

Convert txt to docx (BARD)

Nov 10th, 2023
624
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.63 KB | None | 0 0
  1. import os
  2. from docx import Document
  3.  
  4. # Funcție pentru citirea textului dintr-un fișier
  5. def read_text_from_file(file_path):
  6.     if not os.path.exists(file_path):
  7.         raise FileNotFoundError(f"Fișierul {file_path} nu există.")
  8.     with open(file_path, encoding='utf8', errors='replace') as f:
  9.         text = f.read()
  10.     return text
  11.  
  12. # Funcție pentru scrierea textului într-un fișier
  13. def write_to_file(text, file_path):
  14.     with open(file_path, 'wb') as f:
  15.         f.write(text.encode('utf8', 'ignore'))
  16.  
  17. # Setează calea către directorul cu fișierele TXT
  18. txt_folder_path = r'D:\2022_12_02'
  19.  
  20. # Setează calea către directorul în care vor fi salvate fișierele DOCX
  21. docx_folder_path = r'D:\2022_12_02\word 3'
  22.  
  23. # Creează directorul pentru fișierele DOCX dacă nu există deja
  24. if not os.path.exists(docx_folder_path):
  25.     os.makedirs(docx_folder_path)
  26.  
  27. # Parcurge fiecare fișier TXT din director
  28. for filename in os.listdir(txt_folder_path):
  29.     if filename.endswith(".txt"):
  30.         txt_file_path = os.path.join(txt_folder_path, filename)
  31.  
  32.         # Citește conținutul fișierului TXT
  33.         content = read_text_from_file(txt_file_path)
  34.  
  35.         # Setează calea pentru fișierul DOCX de salvat
  36.         docx_file_path = os.path.join(docx_folder_path, f"{os.path.splitext(filename)[0]}.docx")
  37.  
  38.         # Creează un document DOCX și adaugă conținutul
  39.         doc = Document()
  40.         doc.add_paragraph(content)
  41.  
  42.         # Salvează documentul ca fișier DOCX
  43.         doc.save(docx_file_path)
  44.  
  45.         print(f"Conversie: {txt_file_path} -> {docx_file_path}")
  46.  
  47. print("Conversiile au fost finalizate.")
  48.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement