excel文件,提取符号要求的词
各位大佬们好,请帮忙处理一下:如下的要求,写的有点多,不过原理很简单,谢谢。我上传了“1.简明蒙古语词典_任务1最终版 - 副本.xlsx”文件,进行数据处理任务。该文件里包含了“序号”、“词条”、"西里尔蒙古文"、“释义”等四个字段的多行数据。
!处理需求!:
要从释义字段的信息中提取【】符号内的词条和其对应的释义信息,并按照源文件的排序,新创建一行写入。这种提取的信息里不包含"西里尔蒙古文"数据,因此,新创建一行写入时,"西里尔蒙古文"字段的信息为空。
从“释义”字段中提取时需要做几个判断。
!判断内容如下!:
1.当一个释义内容里只有一个【】符号内的词条时,提取的“词条”是【】符号内的词条;提取的该词条的释义内容是,该词条后面内容中的,最后一个“᠃”符号的前部分文本信息。
例如: 源文件中完整的一行数据:词条:ᠠᠢ、西里尔蒙古文:айⅢ、释义内容:ᠲᠤᠭᠠᠠ ᠦ ᠤᠢᠭᠡ ᠲᠡᠢ ᠬᠤᠷᠰᠢᠵᠦ ᠤᠯᠡᠠ ᠦ ᠰᠢᠡᠵᠢ ᠤᠤᠡᠬᠠ ᠵᠢ ᠨᠡᠮᠡᠬᠦ᠃ 【ᠠᠢ ᠲᠤᠢᠮᠡᠠ】 ᠲᠤᠢᠭ ᠲᠤᠢᠮᠡᠠ᠂ ᠤᠢᠢ ᠲᠤᠢᠮᠡᠠ᠄ ᠠᠷᠦ ᠪᠡᠷ ᠲᠤᠢᠬᠦᠷᠡᠡᠭ ᠠᠢ ᠲᠤᠢᠮᠡᠠ ᠠᠳᠦᠭᠤ᠃
代码应该提取出:词条:ᠠᠢ ᠲᠤᠢᠮᠡᠠ、西里尔蒙古文:、释义:ᠲᠤᠢᠭ ᠲᠤᠢᠮᠡᠠ᠂ ᠤᠢᠢ ᠲᠤᠢᠮᠡᠠ᠄ ᠠᠷᠦ ᠪᠡᠷ ᠲᠤᠢᠬᠦᠷᠡᠡᠭ ᠠᠢ ᠲᠤᠢᠮᠡᠠ ᠠᠳᠦᠭᠤ᠃
而原本的: 词条:ᠠᠢ、西里尔蒙古文:айⅢ、释义内容:ᠲᠤᠭᠠᠠ ᠦ ᠤᠢᠭᠡ ᠲᠡᠢ ᠬᠤᠷᠰᠢᠵᠦ ᠤᠯᠡᠠ ᠦ ᠰᠢᠡᠵᠢ ᠤᠤᠡᠬᠠ ᠵᠢ ᠨᠡᠮᠡᠬᠦ᠃ 内容,需要保留在原处。不可以删除。不要打乱排序。
2.当释义内容里有多个【】符号的词条时,提取的“词条”是【】符号内的词条;提取的该词条的释义内容是该词条后面另一个【】符号内的词条,前面的文本内容。
3.一个包含多个【】符号的词条的释义内容中,最后一个【】符号的词条的释义是,该词条后面最后一个"᠃ "符号前的文本内容。
例如:源文件中完整的一行数据: 词条: ᠠ、西里尔蒙古文:а Ⅰ、释义:① ᠠ ᠤᠢᠰᠦᠭ᠂ ᠠ ᠠᠪᠢᠶᠠ᠄ ᠠ ᠤᠢᠰᠦᠭ ᠡᠷᠳᠡᠮ ᠤᠨ ᠲᠡᠭᠡᠵᠢ᠂ ᠠᠶᠡᠭᠠ ᠴᠡᠢ ᠢᠳᠡᠭᠡᠠ ᠦ ᠲᠡᠭᠡᠵᠢ (ᠵᠤᠢᠢᠷ)᠃ ② ᠤᠢᠰᠦᠭ ᠵᠢᠡᠷ ᠳ᠋ᠤᠭᠠᠷᠯᠡᠬᠤ ᠳ᠋ᠦ ᠨᠢᠭᠡ ᠭᠡᠰᠡᠠ ᠤᠤᠡᠬᠠ᠄ ᠠᠷᠪᠡᠳᠦᠭᠠᠷ ᠵᠤᠢᠢᠯ ᠤᠨ ᠠ ᠳ᠋ᠤᠭᠠᠷ ᠲᠦ ᠲᠤᠷᠡᠳᠦᠬᠰᠡᠠ ᠨᠢ; ᠲᠡᠪᠦᠳᠦᠭᠠᠷ ᠠᠡᠭᠬᠢ ᠵᠢᠠ〈ᠠ〉ᠪᠦᠯᠦᠭ᠃ 【☆ ᠠ ᠮᠠ ᠤᠢᠭᠡᠢ】 Аᠪᠢᠴᠢᠭ ᠤᠢᠰᠦᠭ ᠤᠢᠯᠦ ᠮᠡᠳᠡᠬᠦ᠃ Б ᠶᠡᠷᠢᠶᠠ ᠬᠦᠷ ᠤᠢᠭᠡᠢ᠂ ᠶᠡᠷᠢᠶᠠ ᠮᠡᠭᠤᠳᠡᠢ᠃ В ᠭᠡᠯᠠ ᠤᠢᠭᠡᠢ᠃ 【ᠠ ᠡ ᠤᠢᠭᠡᠢ】A ᠪᠢᠴᠢᠭ ᠤᠢᠰᠦᠭ ᠤᠬᠳᠦ ᠮᠡᠳᠡᠬᠦ ᠤᠢᠭᠡᠢ᠃ Б ᠶᠡᠷᠢᠶᠠ ᠬᠦᠷ ᠤᠢᠭᠡᠢ᠂ ᠲᠤᠭᠤᠢ᠃ В ᠭᠡᠯᠠ ᠤᠢᠭᠡᠢ ᠲᠤᠢᠯᠡᠢ᠃ Г ᠠᠳᠡᠷᠡᠮᠠ ᠤᠢᠭᠡᠢ᠂ ᠬᠦᠡᠳᠦᠦ ᠤᠢᠭᠡᠢ᠂ ᠲᠤᠮᠦᠭᠠᠳᠡᠢ᠃
代码应该提取出并创建:词条:☆ ᠠ ᠮᠠ ᠤᠢᠭᠡ、西里尔蒙古文:、释义: Аᠪᠢᠴᠢᠭ ᠤᠢᠰᠦᠭ ᠤᠢᠯᠦ ᠮᠡᠳᠡᠬᠦ᠃ Б ᠶᠡᠷᠢᠶᠠ ᠬᠦᠷ ᠤᠢᠭᠡᠢ᠂ ᠶᠡᠷᠢᠶᠠ ᠮᠡᠭᠤᠳᠡᠢ᠃ В ᠭᠡᠯᠠ ᠤᠢᠭᠡᠢ᠃
词条:ᠠ ᠡ ᠤᠢᠭᠡᠢ、西里尔蒙古文:、释义:A ᠪᠢᠴᠢᠭ ᠤᠢᠰᠦᠭ ᠤᠬᠳᠦ ᠮᠡᠳᠡᠬᠦ ᠤᠢᠭᠡᠢ᠃ Б ᠶᠡᠷᠢᠶᠠ ᠬᠦᠷ ᠤᠢᠭᠡᠢ᠂ ᠲᠤᠭᠤᠢ᠃ В ᠭᠡᠯᠠ ᠤᠢᠭᠡᠢ ᠲᠤᠢᠯᠡᠢ᠃ Г ᠠᠳᠡᠷᠡᠮᠠ ᠤᠢᠭᠡᠢ᠂ ᠬᠦᠡᠳᠦᠦ ᠤᠢᠭᠡᠢ᠂ ᠲᠤᠮᠦᠭᠠᠳᠡᠢ᠃两行新数据。
而原本的 词条: ᠠ、西里尔蒙古文:а Ⅰ、释义:① ᠠ ᠤᠢᠰᠦᠭ᠂ ᠠ ᠠᠪᠢᠶᠠ᠄ ᠠ ᠤᠢᠰᠦᠭ ᠡᠷᠳᠡᠮ ᠤᠨ ᠲᠡᠭᠡᠵᠢ᠂ ᠠᠶᠡᠭᠠ ᠴᠡᠢ ᠢᠳᠡᠭᠡᠠ ᠦ ᠲᠡᠭᠡᠵᠢ (ᠵᠤᠢᠢᠷ)᠃ ② ᠤᠢᠰᠦᠭ ᠵᠢᠡᠷ ᠳ᠋ᠤᠭᠠᠷᠯᠡᠬᠤ ᠳ᠋ᠦ ᠨᠢᠭᠡ ᠭᠡᠰᠡᠠ ᠤᠤᠡᠬᠠ᠄ ᠠᠷᠪᠡᠳᠦᠭᠠᠷ ᠵᠤᠢᠢᠯ ᠤᠨ ᠠ ᠳ᠋ᠤᠭᠠᠷ ᠲᠦ ᠲᠤᠷᠡᠳᠦᠬᠰᠡᠠ ᠨᠢ; ᠲᠡᠪᠦᠳᠦᠭᠠᠷ ᠠᠡᠭᠬᠢ ᠵᠢᠠ〈ᠠ〉ᠪᠦᠯᠦᠭ᠃ 保留。
希望大佬练个手,写一下代码,谢谢。
发现excel不能上传,我将其转换成了.txt,每一个字段内容以@#符号隔开。请您用exce打开.txt并处理一下,谢谢。
你好!根据你的需求,你可以使用Python编写代码来处理这个问题。下面是一个示例代码:
import pandas as pd
# 读取txt文件并分割字段
data = pd.read_csv("1.简明蒙古语词典_任务1最终版 - 副本.txt", sep="@#", engine="python")
# 定义函数用于提取词条和释义信息
def extract_info(row):
meaning = row["释义"]
if "【" in meaning:
if "】" in meaning:
start_pos = meaning.index("【")
end_pos = meaning.index("】")
word = meaning
if "】" in meaning:
next_start = meaning.index("【")
next_end = meaning.index("】")
if next_start < next_end:
next_word = meaning
meaning = meaning[:start_pos] + next_word + meaning
else:
meaning = meaning[:start_pos]
else:
meaning = meaning[:start_pos]
else:
word = meaning
meaning = ""
else:
word = ""
# 创建新的行
new_row = {
"序号": row["序号"],
"词条": word,
"西里尔蒙古文": "",
"释义": meaning
}
return new_row
# 处理每一行数据
new_data = []
for index, row in data.iterrows():
extracted_row = extract_info(row)
new_data.append(row.tolist())
new_data.append(extracted_row)
# 将新数据转换为DataFrame并保存为Excel文件
new_data = pd.DataFrame(new_data, columns=data.columns)
new_data.to_excel("提取后的数据.xlsx", index=False)
请确保你已经安装了pandas库和openpyxl库(用于读写Excel文件)。将txt文件命名为"1.简明蒙古语词典_任务1最终版 - 副本.txt",然后运行上述代码,它将生成一个名为"提取后的数据.xlsx"的Excel文件,其中包含提取后的数据。
希望对你有帮助!如果有任何问题,请随时向我提问。
如果问题已经解决,请设置最佳答案 你好,以下是我提供的解决方案:
```python
import pandas as pd
# 读取txt文件
data = pd.read_csv('1.简明蒙古语词典_任务1最终版 - 副本.txt', sep='@#', engine='python')
# 创建新的DataFrame用于存储提取的数据
new_data = pd.DataFrame(columns=['词条', '西里尔蒙古文', '释义'])
# 遍历每一行数据
for index, row in data.iterrows():
# 获取释义字段的内容
definition = row['释义']
# 判断是否包含【】符号
if '【' in definition and '】' in definition:
# 提取词条和释义
start_index = definition.index('【') + 1
end_index = definition.index('】')
term = definition
meaning = definition
# 判断释义 完了,返现编码不能识别。大家请看这个。
各位大佬们好,请帮忙处理一下:如下的要求,写的有点多,不过原理很简单,谢谢。
我上传了“1.简明蒙古语词典_任务1最终版 - 副本.xlsx”文件,进行数据处理任务。该文件里包含了“序号”、“词条”、"西里尔蒙古文"、“释义”等四个字段的多行数据。
!处理需求!:
用图片形式补充了。请看下图。
希望大佬练个手,写一下代码,谢谢。
发现excel不能上传,我将其转换成了.txt,每一个字段内容以@#符号隔开。请您用exce打开.txt并处理一下,谢谢。
此内容为ChatGPT回答,如果胡说八道,请不要理会
如果对你有帮助,请设置一个最佳答案! 陶远航 发表于 2023-9-3 13:19
你好!根据你的需求,你可以使用Python编写代码来处理这个问题。下面是一个示例代码:
谢谢您的帮助。不过,我刚刚发现代码有个小报错。请您跑一下看看。
还有,我不想让提取后的文件单独生成一个文件。我想让符合要求的那一行数据,按照源文件里的排序,生成在源文件里。换句话说,如果第一行数据中产生了符合要求的数据,那么将生成的那一行数据,创建在第二行,以此类推,感谢您。
页:
[1]