Как извлечь содержимое таблицы из файла CSV после преобразования из PDF с помощью Python? - PullRequest
0 голосов
/ 08 июля 2019

У меня есть PDF, который содержит много таблиц.) Я преобразовал этот PDF-файл в CSV-файл для упрощения извлечения необходимых данных.)

Строки CSV состоят из множества столбцов, но каждая таблица содержит только 3 столбца, поэтому трудно определить, к какому столбцу относитсяв клетку.

Я также должен упомянуть, что одна ячейка может состоять из нескольких строк и столбцов. Пример таблицы .

Так есть ли решение для извлечения этих ячеек?

import csv
import re
class PDF_EXTRACTOR:
    FILE_NAME=None
    Ttableau=None
    NUMBER_OF_PAGES=None
    def __init__(self,fn):
        self.FILE_NAME=fn
        self.Ttableau=0
        self.NUMBER_OF_PAGES=0
    def EXTRACT_CELLULE(self):
        csv.register_dialect('mydialect',delimiter =',',skipinitialspace=True)
        print(csv.list_dialects())
        with open(self.FILE_NAME,'r',encoding='utf8',errors='ignore') as csvFile:
            reader = csv.reader(csvFile, dialect='mydialect')
            for index, row in enumerate(reader):
                print(row)

Я ожидал такой вывод:

["Region 1","Region 2", "Region3]
["8,3-9","AUXILIAIRES DE LA MÉTÉOROLOGIE 5.54A 5.54B 5.54C",""]
["70-72","70-90","70-72"]
["RADIONAVIGATION 5.60","FIXE","MARITIME 5.60"]

Но вместо этого я получил это:

['7 450-8 100', 'FIXE', '', '', '', '']
['', 'MOBILE sauf mobile aéronautique (R)', '', '', '', '']
['', '5.144', '', '', '', '']
['8 100-8 195', 'FIXE', '', '', '', '']
['', 'MOBILE MARITIME', '', '', '', '']
['8 195-8 815', 'MOBILE MARITIME', '5.109', '5.11', '5.132', '5.145']
['', '5.111', '', '', '', '']
['8 815-8 965', 'MOBILE AÉRONAUTIQUE (R)', '', '', '', '']
['8 965-9 040', 'MOBILE AÉRONAUTIQUE (OR)', '', '', '', '']
['9 040-9 305', '9 040-9 400', '', '', '', '9 040-9 305']
['FIXE', 'FIXE', '', '', '', 'FIXE']
['9 305-9 355', '', '', '', '', '9 305-9 355']
['FIXE', '', '', '', '', 'FIXE']
['Radiolocalisation 5.145A', '', '', '', '', 'Radiolocalisation 5.145A']
['5.145B', '', '', '', '', '']
['9 355-9 400', '', '', '', '', '9 355-9 400']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...