Maison > Article > développement back-end > Comment utiliser Python pour le NLP pour traiter des données tabulaires dans des fichiers PDF ?
Comment utiliser Python pour le NLP pour traiter des données tabulaires dans des fichiers PDF ?
Résumé : Le traitement du langage naturel (NLP) est un domaine important impliquant l'informatique et l'intelligence artificielle, et le traitement de données tabulaires dans des fichiers PDF est une tâche courante en PNL. Cet article explique comment utiliser Python et certaines bibliothèques couramment utilisées pour traiter les données tabulaires dans les fichiers PDF, notamment l'extraction de données tabulaires, le prétraitement et la conversion des données.
Mots clés : Python, NLP, PDF, données tabulaires
1. Introduction
Avec le développement de la technologie, les fichiers PDF sont devenus un format de document courant. Dans ces fichiers PDF, les données tabulaires sont largement utilisées dans divers domaines, notamment la finance, les soins médicaux et l'analyse des données. Par conséquent, la manière d’extraire et de traiter ces données tabulaires à partir de fichiers PDF est devenue une question populaire.
Python est un langage de programmation puissant qui fournit de riches bibliothèques et outils pour résoudre divers problèmes. Dans le domaine du NLP, Python dispose de nombreuses excellentes bibliothèques, telles que PDFMiner, Tabula et Pandas, etc. Ces bibliothèques peuvent nous aider à traiter les données tabulaires dans les fichiers PDF.
2. Installer des bibliothèques
Avant de commencer à utiliser Python pour traiter des données tabulaires dans des fichiers PDF, nous devons installer certaines bibliothèques nécessaires. Nous pouvons utiliser le gestionnaire de packages pip pour installer ces bibliothèques. Ouvrez une fenêtre de terminal ou de ligne de commande et entrez la commande suivante :
pip install pdfminer.six pip install tabula-py pip install pandas
3. Extraire les données du tableau
Tout d'abord, nous devons extraire les données du tableau dans le fichier PDF. Nous pouvons utiliser la bibliothèque PDFMiner pour réaliser cette fonctionnalité. Voici un exemple de code pour extraire des données tabulaires à l'aide de la bibliothèque PDFMiner :
import pdfminer import io from pdfminer.converter import TextConverter from pdfminer.pdfinterp import PDFPageInterpreter from pdfminer.pdfinterp import PDFResourceManager from pdfminer.layout import LAParams from pdfminer.pdfpage import PDFPage def extract_text_from_pdf(pdf_path): resource_manager = PDFResourceManager() output_string = io.StringIO() laparams = LAParams() with TextConverter(resource_manager, output_string, laparams=laparams) as converter: with open(pdf_path, 'rb') as file: interpreter = PDFPageInterpreter(resource_manager, converter) for page in PDFPage.get_pages(file): interpreter.process_page(page) text = output_string.getvalue() output_string.close() return text pdf_path = "example.pdf" pdf_text = extract_text_from_pdf(pdf_path) print(pdf_text)
Dans cet exemple, nous créons d'abord un objet PDFResourceManager
, un objet TextConverter
et un autre objet nécessaire. . Nous ouvrons ensuite le fichier PDF et utilisons PDFPageInterpreter
pour interpréter le fichier page par page. Enfin, nous stockons les données texte extraites dans une variable et les renvoyons. PDFResourceManager
对象、一个TextConverter
对象以及一些其他必要的对象。然后,我们打开PDF文件并使用PDFPageInterpreter
逐页解释文件。最后,我们将提取的文本数据存储在一个变量中并返回。
四、数据预处理
在提取表格数据后,我们需要进行一些数据预处理,以便更好地处理这些数据。常见的预处理任务包括去除空格、清洗数据、处理缺失值等。这里我们使用Pandas库来进行数据预处理。
下面是一个使用Pandas库进行数据预处理的示例代码:
import pandas as pd def preprocess_data(data): df = pd.DataFrame(data) df = df.applymap(lambda x: x.strip()) df = df.dropna() df = df.reset_index(drop=True) return df data = [ ["Name", "Age", "Gender"], ["John", "25", "Male"], ["Lisa", "30", "Female"], ["Mike", "28", "Male"], ] df = preprocess_data(data) print(df)
在这个示例中,我们首先将提取的数据存储在一个二维列表中。然后,我们创建一个Pandas的DataFrame对象,并对其进行一系列预处理操作,包括去除空格、清洗数据、处理缺失值。最后,我们将预处理后的数据打印出来。
五、数据转换
在进行了数据预处理之后,我们可以将表格数据转换为其他常见的数据结构,如JSON、CSV或Excel。下面是一个使用Pandas库将数据转换为CSV文件的示例代码:
def convert_data_to_csv(df, csv_path): df.to_csv(csv_path, index=False) csv_path = "output.csv" convert_data_to_csv(df, csv_path)
在这个示例中,我们使用Pandas的to_csv()
rrreee
Dans cet exemple, nous stockons d'abord les données extraites dans une liste bidimensionnelle. Ensuite, nous créons un objet Pandas DataFrame et effectuons une série d'opérations de prétraitement dessus, notamment la suppression des espaces, le nettoyage des données et la gestion des valeurs manquantes. Enfin, nous imprimons les données prétraitées. 5. Conversion des donnéesto_csv()
de Pandas pour convertir les données en fichier CSV et les enregistrer dans le chemin spécifié. Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!