我想创建一个程序,以便如果我在文本区域中插入了一个段落,则希望将其某些部分放在表的不同列中。例如,该语句是:
我叫詹姆斯·奥尔森。我21岁了。我是一名医生。我住在伦敦培根街的坎特维尔。
然后表格应自动显示为:
|姓名|年龄|专业|地区名称|街道名称|区域|
詹姆斯| 21 |医生|坎特维尔|培根街|伦敦|
我还想知道哪种语言最好-Python或Java。
答案 0 :(得分:0)
是当然可以,我个人更喜欢 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