from xlutils.copy import copy
if __name__ == '__main__':
r_xls = open_workbook("excelTest.xls") # 读取excel文件
row = r_xls.sheets()[0].nrows # 获取已有的行数
excel = copy(r_xls) # 将xlrd的对象转化为xlwt的对象
worksheet = excel.get_sheet(0) # 获取要 *** 作的sheet
# 对excel表追加一行内容
worksheet.write(row, 0, '内容1') # 括号内分别为行数、列数、内容
worksheet.write(row, 1, '内容2')
worksheet.write(row, 2, '内容3')
excel.save("excelTest.xls") # 保存并覆盖文件
结果: 内容虽然添加进去了,但是原来的excel格式被清除了
原Excel:
追加后的excel:
使用Python3运行起初是读取excel中的数据,进行相关的计算将结果追加在后面,没有找到合适的办法,就只能采用这种读取数据,进行相关 *** 作,重新写入的方法
(1)使用xlrd打开xls文件,读取数据
(2)将需要的数据放进list中,进行相应的计算得出结果
(3)使用xlutils的copy将xlrd对象转化为xlwt对象
(4)使用转化的xlwt对象的write方法,将结果写入
(5)使用xlwt的save进行保存
主要用它读取Excel数据
主要用它来将数据写入到excel中
主要用xlutils的copy方法将xlrd对象转化为xlwt对象,好来进行写入
删除了一些东西大致如下
百度会吞缩进,我发其他网站了。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('完成')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)