描述:筛选excel表格数据存储至另一表格,用openpyxl读取excel,定义数组临时存储数据,而后再保存表格。
需要提取数据表格样板:
提取存储至目标表格样板:
代码:
import openpyxl
import os
file_path = r''#表格所在位置
save_path = file_path +'\' + '提取数据'
if not ists(save_path):os.mkdir(save_path)
files = []
for dirpath, dirnames, filenames in os.walk(file_path):for file in filenames:dswith('.xlsx') dswith('.xls'):files.append(dirpath + '\' + file)break
for file in files:all_data_arr = []s1 = file.split('\')s2 = s1[s1.__len__()-1]s3 = s2[:s2.index(".xls")]wb2 = openpyxl.Workbook()ws2 = wb2.activewb1 = openpyxl.load_workbook(file)table = wb1["0"]row_max = table.max_row#表格最大数量for i in range(1, row_max+1): # 提取每一行的数据data_arr = []str1 = ll(i,1).valueif str1 !=None:str2 = str1.split('-')else:str2 = ['1']if str2[0] == 'MS':data_arr.append(str2[1])data_arr.append(str2[1]+str2[2])cm_arr = []for j in range(19,42):cm_arr1 = []ll(i,j-16).value !=None:cm_arr1.append(j)cm_arr1.append(ll(i,j-16).value))cm_arr.append(cm_arr1)data_arr.append(cm_arr)all_data_arr.append(data_arr)target = 1for data in all_data_arr:for arr in data[2]:ll(target,1).value = data[ll(target, 2).value = data[ll(target, 3).value = "ll(target, 4).value = arr[ll(target, 5).value = arr[1]target +=1f1 = s3 + '.xlsx'wb2.save(save_path + '\'+f1)wb2.close()
注意:原来想要用xlrd读取表格数据,但是python高版本已经不支持xlrd了。
本文发布于:2024-02-02 14:18:59,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170685473644369.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |