Amgalang 发表于 2020-9-17 09:07:05

两个文件汉语字段自动匹配问题

本帖最后由 Amgalang 于 2020-9-17 10:33 编辑

各位鱼友大家上午好,
      我是一个python新手,目前遇到了一个问题,希望大佬给予帮助。真心谢谢大家了。
      具体问题是我有两个txt文件(文件A与文件B)

            文件A有两个字段信息:       
                AAA        人生命
                BBB        []植物[]动物

            文件B也有两个字段信息:
                人,生命        00002086N
                植物        00008019N
                动物        00091019N

         具体想法是,如果A与B两个文件中[]后的汉语对应,那么在文件A的两个字段后面新建相应的字段,提取并添加文件B中对应的数字编号。具体实现的效果是:
                AAA        人生命        00002086N
                BBB        []植物[]动物        00008019N                00091019N

         我目前拥有了些许的编程思维,但是动手能力较弱,恳请大家帮助,再次感谢,祝大家拥有美好的一天。

sunrise085 发表于 2020-9-17 09:50:26

嚯,回答你的问题还要花费鱼币啊。那不看了

Amgalang 发表于 2020-9-17 10:35:09

sunrise085 发表于 2020-9-17 09:50
嚯,回答你的问题还要花费鱼币啊。那不看了

抱歉,我以为是悬赏,第一次用到所以弄错了,一顿操作后终于改过来了,哈哈哈
希望您能给予解答,谢谢您。

疾风怪盗 发表于 2020-9-17 11:38:37

可以这样实现

import pandas as pd

a=pd.read_csv('A.txt')
a['编号']=''
print(a)
b=pd.read_csv('B.txt')
print(b)
for i in range(len(b)):
    for j in range(len(a)):
      num = a.loc.find(b.loc)
      if num>0:
            num_temp=a.loc
            a.loc=a.loc+num_temp+b.loc
print(a)
a.to_csv('C.txt',index=False)

Amgalang 发表于 2020-9-17 15:00:17

疾风怪盗 发表于 2020-9-17 11:38
可以这样实现

谢谢您的帮助
第一、刚刚了解到pandas模块是python的excel,但是 我没能安装成功,呜呜....
第二、按照您的方法需要把文件B的内容修改一下,改成一行一个内容,但其实我在实验多内容的匹配,哈哈哈 我可能说的有点绕。我再试试pandas 谢谢您

疾风怪盗 发表于 2020-9-17 17:44:13

本帖最后由 疾风怪盗 于 2020-9-17 17:46 编辑

Amgalang 发表于 2020-9-17 15:00
谢谢您的帮助
第一、刚刚了解到pandas模块是python的excel,但是 我没能安装成功,呜呜....
第二、按照 ...

这样可以么
import pandas as pd

a = pd.read_csv('A.txt', sep=':')
a['内容'] = ]
# print(a)
d = a['内容'].str.split('\[\]', expand=True).stack().reset_index(level=1, drop=True).rename('内容')
# print(d)
a = a.drop('内容', axis=1).join(d)
print(a)

b = pd.read_csv('B.txt', sep=':')
# print(b)
c = b['内容'].str.split(',', expand=True).stack().reset_index(level=1, drop=True).rename('内容')
# print(c)
b = b.drop('内容', axis=1).join(c)
print(b)

e = pd.merge(left=a, right=b, left_on='内容', right_on='内容')
print(e)
e.to_csv('C.txt', index=False)

Amgalang 发表于 2020-9-17 19:15:36

本帖最后由 Amgalang 于 2020-9-17 19:46 编辑

疾风怪盗 发表于 2020-9-17 17:44
这样可以么

真心谢谢您了,完美解决,佩服 哈哈哈
不过 目前我还没能安装好 pandas{:5_100:}

疾风怪盗 发表于 2020-9-17 19:20:50

Amgalang 发表于 2020-9-17 19:15
真心谢谢您了,完美解决,佩服 哈哈哈
不过 目前我还没能安装好 pandas
可以的话,我想和您交 ...

你这个手机号都随便放网上么。。。。。。。。容易被骗。。。。。。
我没空搞项目的,工作很忙的
你有问题就直接论坛上问吧
我这段时间还有点空,等回单位了就不会经常上论坛了

Amgalang 发表于 2020-9-17 19:47:58

疾风怪盗 发表于 2020-9-17 19:20
你这个手机号都随便放网上么。。。。。。。。容易被骗。。。。。。
我没空搞项目的,工作很忙的
你有问 ...

已修改 好的 好的 哈哈哈
页: [1]
查看完整版本: 两个文件汉语字段自动匹配问题