python操作excel

根据需求提取points大于5的数据,并进行倒序。插入到一个新的工作表中。如下所示的Excel表格数据,请编写python代码筛选出Points大于5的数据,并按Points进行排序后输出如图2所示的Excel文件结果

图一

图二

#操作EXCEL提取出points大于5的数,并倒序插入
 #导入模块
import xlrd
import xlwt


 #打开工作簿
wbk = xlrd.open_workbook('rank.xlsx')


 #获取工作表
mysheet =wbk.sheet_by_index(0)


 #计算行数
nrows = mysheet.nrows
 # print(nrows)


 #建立一个空列表用来将满足条件的行值放入lt中
lt =[]

#通过遍历的方法找到每一行的值
for i in range(nrows):
    myrowvalues = mysheet.row_values(i)
    # print(type(myrowvalues))
    # i等于0是为了将第一行也放进去,因为他是表头不是数字不能进行比较。同时取行值的第三个值与5.0进行比较。将符合要求的数据添加到空列表中
    if i is 0 or myrowvalues[2]>5.0:
        lt.append(myrowvalues)
 # print(lt)


 #将第一行值提出来,因为他是文字不能进行比较。同时作为标题
touname = lt[0]
 # print(touname)


 #通过索引将其他的行值提取出来并放置到表量名rows中
rows = lt[1:]
 # print(rows)


 #建立空列表。通过遍历,通过索引将行值的最后一位提取出来,放置在points中
points =[]
for j in rows:
    points.append(j[2])
 # print(points)


 #进行排序,reverse=True表示执行倒序,reverse=False 表示不允许倒序,即正序。
points.sort(reverse=True)
 # print(points)


 #建立空列表,将刚才的标题放进去
aa=[]
aa.append(touname)
 # print(aa)


 #遍历,将行值按照排序的顺序进行放入,第一个遍历为遍历排序的数据,第二个遍历为,提取行值。通过if语句和索引将行值中的第三个数字和排序数字进行匹配,并安装数字排序的顺序将行值插入到列表aa中。
for i in points:
    for k in rows:
        if i== k[2]:
            aa.append(k)
 # print(aa)


 #建立一个新工作簿
nwbk = xlwt.Workbook()

#建立一个新工作表,并命名
nsheet = nwbk.add_sheet('sheet1')
 #求出行数和列数,并写入数据。ii表示行数,jj表示列数。通过行数和列数对每一个单元格进行数据插入。
for ii in range(len(aa)):
    for jj in range(len(touname)):
        nsheet.write(ii,jj,aa[ii][jj])
nwbk.save('rank.xlsx')

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
使用Python读取Excel文件可以使用openpyxl库。首先需要安装openpyxl库,可以使用pip install openpyxl命令进行安装。 下面是一个示例代码,实现读取Excel文件中某列数据,并进行统计计数的功能: ```python import openpyxl def count_column_data(file_path, sheet_name, column): # 读取Excel文件 wb = openpyxl.load_workbook(file_path) # 选择要操作的工作表 sheet = wb[sheet_name] data = [] # 获取某列数据 for cell in sheet[column]: data.append(cell.value) # 统计计数 count = {} for value in data: if value in count: count[value] += 1 else: count[value] = 1 return count # 调用示例 file_path = "example.xlsx" # Excel文件路径 sheet_name = "Sheet1" # 工作表名称 column = "A" # 列名称 result = count_column_data(file_path, sheet_name, column) print(result) ``` 在示例代码中,我们首先导入openpyxl库。然后定义了一个名为count_column_data的函数,该函数接受三个参数:Excel文件路径file_path,工作表名称sheet_name和列名称column。 在函数内部,我们使用openpyxl库的load_workbook函数加载Excel文件,并通过sheet = wb[sheet_name]语句选择要操作的工作表。 然后我们使用一个列表data来存储某列的数据,通过遍历sheet[column]来获取该列数据,并将数据的值添加到列表中。 接下来,我们定义了一个空的字典count来存储统计计数的结果。通过遍历data列表,如果值已经存在于count字典中,则计数加1;否则,将该值加入到count字典中,并初始化计数为1。 最后,将统计计数的结果返回,并输出。 使用这个示例代码,你可以根据具体的Excel文件路径、工作表名称和列名称,来进行相应的统计计数操作

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半两风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值