Phyton Programieren
Verfasst: Donnerstag 16. März 2023, 22:20
Hallo ich ahbe eine Frage, ich versuche etwas zu programieren,
ich habe pdfs Datei und ich möchte ein Paar serie extrahieren und im Excel datei suchen, wenn die Serien gefunden würden , würde dokemmntnumer extrahieren und in Excel Dateil in einer Spalte q übertragen,
ich ahbe versucht, aber leider könnte ich das ist cod
kann man mir helfen
import PyPDF2
import re
import pandas as pd
import os
folder_path = r'C:\Users\ubc\Desktop'
excel_file = r'C:\Users\ubc\HKW22_Gesamt-KKS-Liste.xlsx'
pattern = re.compile(r'[A-Z][0-9]{12}')
def extract_text(filename):
with open(os.path.join(folder_path, filename), 'rb') as f:
reader = PyPDF2.PdfFileReader(f)
text = ''
for i in range(reader.getNumPages()):
text += reader.getPage(i).extractText()
return text
def extract_doc_num(text):
match = re.search(r'Dok\.-Nr:\s*([A-Z0-9]{13})', text)
if match:
return match.group(1)
else:
return None
pdf_files = [f for f in os.listdir(folder_path) if f.endswith('.pdf')]
results = []
for filename in pdf_files:
text = extract_text(filename)
if text:
doc_num = extract_doc_num(text)
found = re.findall(pattern, text)
if found:
for s in found:
for i, row in df.iterrows():
if row['A'] == s:
results.append((filename, s, doc_num))
df.loc[i, 'Q'] = doc_num
df_results = pd.DataFrame(results, columns=['Dateiname', 'Seriennummer', 'Dokumentennummer'])
df.to_excel(os.path.join(folder_path, excel_file), index=False)
ich habe pdfs Datei und ich möchte ein Paar serie extrahieren und im Excel datei suchen, wenn die Serien gefunden würden , würde dokemmntnumer extrahieren und in Excel Dateil in einer Spalte q übertragen,
ich ahbe versucht, aber leider könnte ich das ist cod
kann man mir helfen
import PyPDF2
import re
import pandas as pd
import os
folder_path = r'C:\Users\ubc\Desktop'
excel_file = r'C:\Users\ubc\HKW22_Gesamt-KKS-Liste.xlsx'
pattern = re.compile(r'[A-Z][0-9]{12}')
def extract_text(filename):
with open(os.path.join(folder_path, filename), 'rb') as f:
reader = PyPDF2.PdfFileReader(f)
text = ''
for i in range(reader.getNumPages()):
text += reader.getPage(i).extractText()
return text
def extract_doc_num(text):
match = re.search(r'Dok\.-Nr:\s*([A-Z0-9]{13})', text)
if match:
return match.group(1)
else:
return None
pdf_files = [f for f in os.listdir(folder_path) if f.endswith('.pdf')]
results = []
for filename in pdf_files:
text = extract_text(filename)
if text:
doc_num = extract_doc_num(text)
found = re.findall(pattern, text)
if found:
for s in found:
for i, row in df.iterrows():
if row['A'] == s:
results.append((filename, s, doc_num))
df.loc[i, 'Q'] = doc_num
df_results = pd.DataFrame(results, columns=['Dateiname', 'Seriennummer', 'Dokumentennummer'])
df.to_excel(os.path.join(folder_path, excel_file), index=False)