在生活中,常常会用到Excel来处理数据,但是有的因为对该软件不太熟悉或者忘记对应函数以至于操作起来非常吃力,于是就非常需要一个能够接收中文指令就可以进行处理的小程序来解决这个问题。
本次的需求就是希望在Excel中获得指定的元素,将所有元素转化为字符串方便以后粘贴在word文档或者发给同事。
需要处理的Excel文件如下:
如图,如果本次需要将所有性别为男的学生都获取下来,完整代码如下:
import pandas as pd//导入pandas库
def start(path):
obj = pd.read_excel(path) # 生成pd类对象
head = obj.columns.values; #获取表头根据表头获取对应索引
head = head.tolist() #将表头转为列表方便处理
data = obj.values#获取每个元素的值
lis = data.tolist()#将该对象转为列表方便处理数据
str1 = ''#通过str1可以判断用户输入的元素是否存在于Excel文件中
try:
select = input("请选择你需要控制的列的名称\n")
index= head.index(select)
choice = input("请输入你需要获取该列的特殊元素\n")
for i in lis:
if i[index] == choice:
str2 = ','.join(str(x) for x in i)
str1 = str1 + str2 + '\n'#以回车号为分隔符
if str1 == '':
print("没有该元素!")
print(str1)
except:
print("请输入正确的列!")
def show(path):
obj = pd.read_excel(path)
print(obj.head())#打印该表前五个数据查看是否正确
if __name__ == '__main__':
path = input("请输入该文件的路径!相对路径即可(如:./123.xlsx)\n")
print("1:展示所有数据\n2:开始处理")
while True:
i = int(input("请选择模式\n"))
if i == 1:
show(path)
elif i == 2:
start(path)
elif i == 0:
break
由上便可以实现需求,当数据非常庞大,通过此方法还是可以很大地提高办事效率。
实现效果图如下: