weixin_39808315
2021-07-02 09:14
采纳率: 100%
浏览 47
已采纳

pandas处理Excel列数据

各位大神,我把整个需求描述出来,昨天提出的已经被采纳,非常感谢,但我接触python只有两天,没有开发经验,所以还得大神帮忙看看如何解决

学校有张招生的数据表,列字段有100多个,由于我只需要特定的一些列字段,大概在50个左右,所以我通过usecols的方式提取出需要的字段,但是提取出来的有些字段需要处理下数据,比如【录取专业】字段,这个字段下有一部分单元格前面有空格和数字,我想通过pandas将这些字段里面这些过滤掉,然后将特定的字段保存到新的Excel中,请问该怎么写这个代码

import pandas as pd
name = (input('请输入文件名:')+'.xls')

table = pd.read_excel('work.xls',usecols=["来源省","学号","考生号","姓名","身份证","院系","录取专业"],dtype=str)

print (table)
table.to_excel(name+'转换后.xlsx',index=False)

原始数据截图:
img

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 幸福丶如此 2021-07-02 09:41
    已采纳
    #!/usr/bin/env python
    #-*- coding:utf-8 -*-
    
    import pandas as pd
    import re
    name = (input('请输入文件名:') + '.xls')
    table = pd.read_excel('work.xls', usecols=["来源省", "学号", "考生号", "姓名", "身份证", "院系", "录取专业"], dtype=str)
    
    print(table)
    table['录取专业'] = table['录取专业'].map(lambda x:x.replace(' ',''))
    table['录取专业'] = table['录取专业'].map(lambda x:re.sub('\d+','',x,count=1))
    print(table)
    table.to_excel(name + '转换后.xlsx', index=False)
    
    
    ####示例演示
    import pandas as pd
    import re
    names = [' 金融工程','金融工程','1电子商务','2电子商务','3电子商务']
    df = pd.DataFrame(names,columns=['录取专业'])
    print(df['录取专业'])
    df['录取专业'] = df['录取专业'].map(lambda x:x.replace(' ',''))
    df['录取专业'] = df['录取专业'].map(lambda x:re.sub('\d+','',x,count=1))
    print('============')
    print(df['录取专业'])
    

    img

    评论
    解决 无用
    打赏 举报
  • 查看更多回答(1条)

相关推荐 更多相似问题