Я бы отправился в Python для любого типа синтаксического анализа строк, как это. Я не уверен, какую часть этой информации вы хотите сохранить, но я бы, возможно, использовал функцию Python split()
для разделения на =
, чтобы избавиться от знака равенства, а затем убрал бы пробел из второй части пирог.
Сначала я бы замаскировал информацию из верхнего / нижнего колонтитула, которая мне не нужна, а затем сделал бы что-то похожее на следующее:
Давайте возьмем кусок и сохраним его в test1.txt
:
ADDRESS= {Location Address}
SUBURB= {Location Suburb}
STATE= xxx
POSTCODE= xxx
DEPOSITED PLAN NO= 0
SECTION & HUNDRED NO= 0
PROPERTY PHONE NO=
Вот небольшой фрагмент кода Python:
>>> f = open("test1.txt", "r")
>>> l = f.readlines()
>>> l = [line.split('=') for line in l]
>>> for line in l:
print line
['ADDRESS', '{Location Address}']
['SUBURB', '{Location Suburb}']
['STATE', 'xxx']
['POSTCODE', 'xxx']
['DEPOSITED PLAN NO', '0']
['SECTION & HUNDRED NO', '0']
['PROPERTY PHONE NO', '']
По сути, это даст вам кортеж [Столбец, Значение], который вы можете использовать для вставки данных в вашу базу данных (после экранирования всех строк и т. Д. И т. Д., Предупреждение об инъекции SQL).
Это предполагает, что входные данные электронной почты и ваша БД будут иметь одинаковые имена столбцов, но если они этого не сделали, было бы довольно просто настроить сопоставление столбцов с использованием словаря. С другой стороны, если электронная почта и столбцы синхронизированы, вам не нужно знать имена столбцов, чтобы выполнить анализ.
Вы можете перебрать псевдословарь и распечатать каждую пару ключ-значение в нужном месте в параметризованной строке sql.
Надеюсь, это поможет!
Редактировать: Пока это в Python, C # / VB.net должен иметь такие же / похожие способности.