Абзац к таблице в разных столбцах - PullRequest
0 голосов
/ 27 июня 2018

Я хочу создать программу так, чтобы, если я вставил абзац в текстовую область, я хотел, чтобы определенные его части помещались в таблицу в разные столбцы. Например, заявление:

Меня зовут Джеймс Олсон. Мне 21 лет. Я врач. Я живу в Кентервилле, на Бэкон-стрит в Лондоне.

Тогда таблица должна автоматически выглядеть следующим образом:


| Имя | Возраст | Профессия | Название области | Название улицы | Площадь |


Джеймс | 21 | Доктор | Кентервиль | Бэкон-стрит | Лондон |


Я также хочу знать, какой язык подойдет лучше всего - Python или Java.

1 Ответ

0 голосов
/ 27 июня 2018

Да это, безусловно, возможно, и я лично предпочел бы Python , чтобы сделать работу.

Я написал код, он не самый лучший или самый эффективный код, но он, безусловно, сделает работу , но в моем коде есть загвоздка. Это будет работать только в том случае, если последовательность и шаблон вашего предложения совпадают. Шаблон должен быть точно таким же, как вы указали в примере .

Если вы хотите, чтобы код работал для нескольких предложений, небольшое изменение в коде с помощью цикла может сделать эту работу.

import pandas as pd

my_sent = "My name is James Olson. I am 21 years old. I am a doctor. I live in Canterville, Bacon Street, London."
my_words = my_sent.split()

my_stopwords = ['My', 'name', 'is', 'I', 'am', 'years', 'old.', 'I', 'am', 'a', 'I', 'live', 'in',]

cleaned_stopwords = []
useful_words = []

for temp in my_stopwords:
    cleaned_stopwords.append(temp.lower().strip())

for word in my_words:
    if word.lower().strip() not in cleaned_stopwords:
        useful_words.append(word.title().strip(".").strip(","))

name = useful_words[0] + " " + useful_words[1]
street = useful_words[5] + " " + useful_words[6]

useful_words.pop(0)
useful_words.pop(0)
useful_words.insert(0, name)
useful_words.pop(4)
useful_words.pop(4)
useful_words.insert(4, street)

all_columns = ["Name", "Age", "Profession", "Area Name", "Street Name", "Area"]
my_df = pd.DataFrame([useful_words], columns = all_columns)

Выход:

           Name  Age  Profession   Area Name    Street Name    Area
0   James Olson   21      Doctor Canterville   Bacon Street  London
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...