百度会吞缩进,我发其他网站了。paste.ubuntu
# 安装
while True:
try:
import openpyxl
break
except:
print('未安装openpyxl库,正在安装')
from os import system
system('pip install -i https://pypi.tuna.tsinghua.edu.cn/simple openpyxl')
# 保存xlsx
def save_xlsx(list1,path):
# 创建一个excel工作簿
wb = openpyxl.Workbook()
# 创建之后可以通过active获取默认的第一个
ws1 = wb.active
# 通过append来添加一行数据
for conten in list1:
ws1.append(conten)
# 保存
wb.save(path)
# 读取xlsx
def read_xlsx(path):
# 打开文件:
excel = openpyxl.load_workbook(path)
# 获取sheet,索引获取
table = excel.get_sheet_by_name(excel.get_sheet_names()[0])
# 返回数据
return list(map(list,table.values))
# 1-75循环生成器
def loop(s,e):
i = s
while True:
if i == e:
i = s
yield i
i += 1
if __name__ == '__main__':
path = 'D://book.xlsx' # 文件路径
l = loop(1,75) # 左闭右开,不包括75
datas = read_xlsx(path) # 读取文件
# 处理数据,不确定是不是有多个数字的情况,这里按多个数字写的
lins = None
for row in datas[1:]:
if lins != row[0]: # 判断的数字在哪一列?索引值
lins = row[0]
l = loop(1, 75)
row.append(l.__next__())
save_xlsx(datas,path) # 覆盖保存新文件
print('完成')
通过例子来说明sorted的用法: 1. 对由tuple组成的List排序 Python代码 >>>students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10),]用key函数排序(lambda的用法见 注释1) Python代码 >>>sorted(students, key=lambda student : student[2]) # sort by age [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]用cmp函数排序 Python代码 >>>sorted(students, cmp=lambda x,y : cmp(x[2], y[2])) # sort by age [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]用 operator 函数来加快速度, 上面排序等价于:(itemgetter的用法见 注释2) Python代码 >>>from operator import itemgetter, attrgetter >>>sorted(students, key=itemgetter(2))用 operator 函数进行多级排序 Python代码 >>>sorted(students, key=itemgetter(1,2)) # sort by grade then by age [('john', 'A', 15), ('dave', 'B', 10), ('jane', 'B', 12)] 2. 对由字典排序 Python代码 >>>d = {'data1':3, 'data2':1, 'data3':2, 'data4':4} >>>sorted(d.iteritems(), key=itemgetter(1), reverse=True) [('data4', 4), ('data1', 3), ('data3', 2), ('data2', 1)]欢迎分享,转载请注明来源:内存溢出
评论列表(0条)