|
10鱼币
各位大佬们好,请帮忙处理一下:如下的要求,写的有点多,不过原理很简单,谢谢。
我上传了“1.简明蒙古语词典_任务1最终版 - 副本.xlsx”文件,进行数据处理任务。该文件里包含了“序号”、“词条”、"西里尔蒙古文"、“释义”等四个字段的多行数据。
!处理需求!:
要从释义字段的信息中提取【】符号内的词条和其对应的释义信息,并按照源文件的排序,新创建一行写入。这种提取的信息里不包含"西里尔蒙古文"数据,因此,新创建一行写入时,"西里尔蒙古文"字段的信息为空。
从“释义”字段中提取时需要做几个判断。
!判断内容如下!:
1.当一个释义内容里只有一个【】符号内的词条时,提取的“词条”是【】符号内的词条;提取的该词条的释义内容是,该词条后面内容中的,最后一个“᠃”符号的前部分文本信息。
例如: 源文件中完整的一行数据:词条:ᠠᠢ、西里尔蒙古文:айⅢ、释义内容:ᠲᠤᠭᠠᠠ ᠦ ᠤᠢᠭᠡ ᠲᠡᠢ ᠬᠤᠷᠰᠢᠵᠦ ᠤᠯᠡᠠ ᠦ ᠰᠢᠡᠵᠢ ᠤᠤᠡᠬ᠎ᠠ ᠵᠢ ᠨᠡᠮᠡᠬᠦ᠃ 【ᠠᠢ ᠲᠤᠢᠮᠡᠠ】 ᠲᠤᠢᠭ ᠲᠤᠢᠮᠡᠠ᠂ ᠤᠢᠢ ᠲᠤᠢᠮᠡᠠ᠄ ᠠᠷᠦ ᠪᠡᠷ ᠲᠤᠢᠬᠦᠷᠡᠡᠭ ᠠᠢ ᠲᠤᠢᠮᠡᠠ ᠠᠳᠦᠭᠤ᠃
代码应该提取出:词条:ᠠᠢ ᠲᠤᠢᠮᠡᠠ、西里尔蒙古文:、释义:ᠲᠤᠢᠭ ᠲᠤᠢᠮᠡᠠ᠂ ᠤᠢᠢ ᠲᠤᠢᠮᠡᠠ᠄ ᠠᠷᠦ ᠪᠡᠷ ᠲᠤᠢᠬᠦᠷᠡᠡᠭ ᠠᠢ ᠲᠤᠢᠮᠡᠠ ᠠᠳᠦᠭᠤ᠃
而原本的: 词条:ᠠᠢ、西里尔蒙古文:айⅢ、释义内容:ᠲᠤᠭᠠᠠ ᠦ ᠤᠢᠭᠡ ᠲᠡᠢ ᠬᠤᠷᠰᠢᠵᠦ ᠤᠯᠡᠠ ᠦ ᠰᠢᠡᠵᠢ ᠤᠤᠡᠬ᠎ᠠ ᠵᠢ ᠨᠡᠮᠡᠬᠦ᠃ 内容,需要保留在原处。不可以删除。不要打乱排序。
2.当释义内容里有多个【】符号的词条时,提取的“词条”是【】符号内的词条;提取的该词条的释义内容是该词条后面另一个【】符号内的词条,前面的文本内容。
3.一个包含多个【】符号的词条的释义内容中,最后一个【】符号的词条的释义是,该词条后面最后一个"᠃ "符号前的文本内容。
例如:源文件中完整的一行数据: 词条: ᠠ、西里尔蒙古文:а Ⅰ、释义:① ᠠ ᠤᠢᠰᠦᠭ᠂ ᠠ ᠠᠪᠢᠶ᠎ᠠ᠄ ᠠ ᠤᠢᠰᠦᠭ ᠡᠷᠳᠡᠮ ᠤᠨ ᠲᠡᠭᠡᠵᠢ᠂ ᠠᠶᠡᠭ᠎ᠠ ᠴᠡᠢ ᠢᠳᠡᠭᠡᠠ ᠦ ᠲᠡᠭᠡᠵᠢ (ᠵᠤᠢᠢᠷ)᠃ ② ᠤᠢᠰᠦᠭ ᠵᠢᠡᠷ ᠳ᠋ᠤᠭᠠᠷᠯᠡᠬᠤ ᠳ᠋ᠦ ᠨᠢᠭᠡ ᠭᠡᠰᠡᠠ ᠤᠤᠡᠬ᠎ᠠ᠄ ᠠᠷᠪᠡᠳᠦᠭᠠᠷ ᠵᠤᠢᠢᠯ ᠤᠨ ᠠ ᠳ᠋ᠤᠭᠠᠷ ᠲᠦ ᠲᠤᠷᠡᠳᠦᠬᠰᠡᠠ ᠨᠢ; ᠲᠡᠪᠦᠳᠦᠭᠠᠷ ᠠᠡᠭᠬᠢ ᠵᠢᠠ〈ᠠ〉ᠪᠦᠯᠦᠭ᠃ 【☆ ᠠ ᠮᠠ ᠤᠢᠭᠡᠢ】 Аᠪᠢᠴᠢᠭ ᠤᠢᠰᠦᠭ ᠤᠢᠯᠦ ᠮᠡᠳᠡᠬᠦ᠃ Б ᠶᠡᠷᠢᠶ᠎ᠠ ᠬᠦᠷ ᠤᠢᠭᠡᠢ᠂ ᠶᠡᠷᠢᠶ᠎ᠠ ᠮᠡᠭᠤᠳᠡᠢ᠃ В ᠭᠡᠯᠠ ᠤᠢᠭᠡᠢ᠃ 【ᠠ ᠡ ᠤᠢᠭᠡᠢ】A ᠪᠢᠴᠢᠭ ᠤᠢᠰᠦᠭ ᠤᠬᠳᠦ ᠮᠡᠳᠡᠬᠦ ᠤᠢᠭᠡᠢ᠃ Б ᠶᠡᠷᠢᠶ᠎ᠠ ᠬᠦᠷ ᠤᠢᠭᠡᠢ᠂ ᠲᠤᠭᠤᠢ᠃ В ᠭᠡᠯᠠ ᠤᠢᠭᠡᠢ ᠲᠤᠢᠯᠡᠢ᠃ Г ᠠᠳᠡᠷᠡᠮ᠎ᠠ ᠤᠢᠭᠡᠢ᠂ ᠬᠦᠡᠳᠦᠦ ᠤᠢᠭᠡᠢ᠂ ᠲᠤᠮᠦᠭᠠᠳᠡᠢ᠃
代码应该提取出并创建:词条:☆ ᠠ ᠮᠠ ᠤᠢᠭᠡ、西里尔蒙古文:、释义: Аᠪᠢᠴᠢᠭ ᠤᠢᠰᠦᠭ ᠤᠢᠯᠦ ᠮᠡᠳᠡᠬᠦ᠃ Б ᠶᠡᠷᠢᠶ᠎ᠠ ᠬᠦᠷ ᠤᠢᠭᠡᠢ᠂ ᠶᠡᠷᠢᠶ᠎ᠠ ᠮᠡᠭᠤᠳᠡᠢ᠃ В ᠭᠡᠯᠠ ᠤᠢᠭᠡᠢ᠃
词条:ᠠ ᠡ ᠤᠢᠭᠡᠢ、西里尔蒙古文:、释义:A ᠪᠢᠴᠢᠭ ᠤᠢᠰᠦᠭ ᠤᠬᠳᠦ ᠮᠡᠳᠡᠬᠦ ᠤᠢᠭᠡᠢ᠃ Б ᠶᠡᠷᠢᠶ᠎ᠠ ᠬᠦᠷ ᠤᠢᠭᠡᠢ᠂ ᠲᠤᠭᠤᠢ᠃ В ᠭᠡᠯᠠ ᠤᠢᠭᠡᠢ ᠲᠤᠢᠯᠡᠢ᠃ Г ᠠᠳᠡᠷᠡᠮ᠎ᠠ ᠤᠢᠭᠡᠢ᠂ ᠬᠦᠡᠳᠦᠦ ᠤᠢᠭᠡᠢ᠂ ᠲᠤᠮᠦᠭᠠᠳᠡᠢ᠃两行新数据。
而原本的 词条: ᠠ、西里尔蒙古文:а Ⅰ、释义:① ᠠ ᠤᠢᠰᠦᠭ᠂ ᠠ ᠠᠪᠢᠶ᠎ᠠ᠄ ᠠ ᠤᠢᠰᠦᠭ ᠡᠷᠳᠡᠮ ᠤᠨ ᠲᠡᠭᠡᠵᠢ᠂ ᠠᠶᠡᠭ᠎ᠠ ᠴᠡᠢ ᠢᠳᠡᠭᠡᠠ ᠦ ᠲᠡᠭᠡᠵᠢ (ᠵᠤᠢᠢᠷ)᠃ ② ᠤᠢᠰᠦᠭ ᠵᠢᠡᠷ ᠳ᠋ᠤᠭᠠᠷᠯᠡᠬᠤ ᠳ᠋ᠦ ᠨᠢᠭᠡ ᠭᠡᠰᠡᠠ ᠤᠤᠡᠬ᠎ᠠ᠄ ᠠᠷᠪᠡᠳᠦᠭᠠᠷ ᠵᠤᠢᠢᠯ ᠤᠨ ᠠ ᠳ᠋ᠤᠭᠠᠷ ᠲᠦ ᠲᠤᠷᠡᠳᠦᠬᠰᠡᠠ ᠨᠢ; ᠲᠡᠪᠦᠳᠦᠭᠠᠷ ᠠᠡᠭᠬᠢ ᠵᠢᠠ〈ᠠ〉ᠪᠦᠯᠦᠭ᠃ 保留。
希望大佬练个手,写一下代码,谢谢。
发现excel不能上传,我将其转换成了.txt,每一个字段内容以@#符号隔开。请您用exce打开.txt并处理一下,谢谢。
1.简明蒙古语词典_任务1最终版 - 副本.txt
(895.3 KB, 下载次数: 2)
你好!根据你的需求,你可以使用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[start_pos+1:end_pos]
- if "】" in meaning[end_pos+1:]:
- next_start = meaning[end_pos+1:].index("【")
- next_end = meaning[end_pos+1:].index("】")
- if next_start < next_end:
- next_word = meaning[end_pos+1:][next_start+1:next_end]
- meaning = meaning[:start_pos] + next_word + meaning[end_pos+1:][next_end+1:]
- else:
- meaning = meaning[:start_pos]
- else:
- meaning = meaning[:start_pos]
- else:
- word = meaning[meaning.index("【")+1:]
- 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编写代码来处理这个问题。下面是一个示例代码:
请确保你已经安装了pandas库和openpyxl库(用于读写Excel文件)。将txt文件命名为"1.简明蒙古语词典_任务1最终版 - 副本.txt",然后运行上述代码,它将生成一个名为"提取后的数据.xlsx"的Excel文件,其中包含提取后的数据。
希望对你有帮助!如果有任何问题,请随时向我提问。
如果问题已经解决,请设置最佳答案
|