python 按姓名排序excel

import sys
import os
import csv
import codecs
import numpy as np
import tensorflow as tf
from datetime import datetime

file_dir = './综合作业A'
'''
for root, dirs, files in os.walk(file_dir):  
    #print(root) #当前目录路径  
    print(dirs) #当前路径下所有子目录  
    #print(files) #当前路径下所有非目录子文件
'''
import unicodecsv as ucsv
import natsort
from xpinyin import Pinyin

f = open('homework.csv','wb')
#f.write(codecs.BOM_UTF8)
#f.write(u'\ufeff'.encode('utf8'))
csv_writer = ucsv.writer(f, encoding = 'gbk')
inform = os.listdir(file_dir)
#natsort.natsorted(inform)

def my_function(lis):             #输入一个名字的列表
    pin=Pinyin()
    result=[]
    for item in lis:
        result.append((pin.get_pinyin(item.split('(')[0]),item))
    result.sort()
    for i in range(len(result)):
        result[i]=result[i][1]
    #result=' '.join(result)       #将排好序的结果使用空格连接,方便输出
    return result                 #输出结果
inform = my_function(inform)   
for var in inform:
    print(var)
    name = var.split('(')[0]
    no = var.split('(')[1][0:-1]
    print(name)
    print(no)
    csv_writer.writerow([no, name])
    #csv_writer.writerow([])
f.close()    

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值