把学生序号给筛出来

# 从一堆数字和名字中把学生的学号按顺序给列出来
import re
import numpy as np
import pandas as pd
'''
a = re.findall(r"\d+", '1小时12分钟') # 匹配数字
b = re.findall(r"\D+", '1小时12分钟') # 匹配非数字
print(a)
print(b)
'''


with open(r"D:\水泵及水泵站课程设计资料\name.txt", encoding='gbk', errors='ignore') as f:  # 打开文件
    data = f.read()  # 读取文件,所有数据
    print(data)      # 查看数据
    list = re.findall(r"\d+", data) # 匹配数字,把数字提取出来
    print(list)
    print(type(list))       # 查看list的类型 class 为 list
    list2 = np.array(list)  # 转换为numpy
    print(type(list2))      # 查看list2的类型 class 为 numpy.ndarray
    print(len(list2))       # 长度162
    list3 = list2.reshape(54,3)  # 改变形状
    list4 = list3[:,0]
    print(list4)
    list5 = list4.reshape(54,1)
    print(type(list5))
    print(list5)

# #将numpy数组写入Excel
data = pd.DataFrame(list5)

writer = pd.ExcelWriter(r"D:\水泵及水泵站课程设计资料\name1.xlsx")    # 写入Excel文件
data.to_excel(writer, 'page_1', float_format='%.5f')      # ‘page_1’是写入excel的sheet名
writer.save()

writer.close()

Leave a Reply

Your email address will not be published. Required fields are marked *