python:将excel文件中的一列提取出来后存放到同名txt文件中

在进行周边设计制作工作的时候发现需要用到大量excel中的姓名,由于excel文件中还有其他与姓名无关的信息,为了方便后续的使用就将姓名提取到了txt文件中。

import pandas as pd
import numpy as np
import os

#此代码可将一个文件夹中的所有excel文件(后缀.xlsx)中的某一列提取出来,分别存到同名的txt文件中
#案例是用于提取新生名单中的姓名到txt文件中,方便后续批量操作

filepath = os.listdir("C:\\Users\\coral\\Desktop\\新生名单\\") #此处是存放我们需要处理的excel文件的文件夹地址
numm=len(filepath)

for j in range(numm):
    file = pd.read_excel("C:\\Users\\coral\\Desktop\\新生名单\\" +filepath[j], encoding='unicode_escape')  
    # 此处与上方一致,存放我们需要处理的excel文件的文件夹地址
    f=np.array(file)

    filepath[j] = filepath[j].rstrip('.xlsx') #把末尾的xlsx字符删掉,是为了后续txt文件能够与原文件同名。没有这句话的话就会变成“.xlsx.txt"

    name=[]#此处用来存储常规的四字及以下姓名
    name2=[]#此处用来存储特殊名字(如大于四个字的少数民族姓名)如果不需要的话就把后续的判断及name2相关的都删掉就可以
    for item in f:
        l=len(item[5])
        if l<=4:
            name.append(item[5])
        else:
            name2.append(item[5])

    #以下部分是将数据存到txt文件中(存储位置与代码文件所在位置一致)
    with open(filepath[j]+".txt", "w") as b1: #将四字及以下姓名存到同名txt文件夹中
        for i in name:
            b1.write(i+'\n')
        b1.close

    name2_len=len(name2)
    if name2_len != 0:#如果有特殊名字
        with open(filepath[j]+"特.txt", "w") as b2:  # 将特殊姓名存到同名+“特”+txt文件夹中
            for ii in name2:
                b2.write(ii+'\n')
            b2.close

你可能感兴趣的:(python,numpy)