前言

**使用Python实现对excel数据的处理,
预先知识简单介绍
xlrd中
# File_Path是Excel路径,打开Excel工作蒲
workbook = xlrd.open_workbook(File_Path, ‘r’)

# 获取第一个sheet
sheet_name = workbook.sheet_names()[0]
#print("表格名称:", sheet_name)# 根据sheet索引或者名称获取sheet内容
sheet = workbook.sheet_by_name(sheet_name)
#获取 sheet的,行数,列数
#print("表格行数:", sheet.nrows, "列数:", sheet.ncols)# 获取某一整行和整列的值

sheet.col_values(i) 列
sheet.row_values(i) 行

xlwt中
worksheet.write(x,y, label = ‘xxxx’) x行y列写入xxxx值(内容).

一、大致内容

提取所有1524.5的数据,具体内容如下.

二、步骤

1.引入库

import xlrd
import xlwt
import os


2.思路

1.从Excel中提取数据,def read_excel(File_Path):
2.提取的数据保存在Excel中,def SaveExcel(File_Path,datas):

3.代码

import xlrd
import xlwt
import os
def read_excel(File_Path):
# File_Path,Excel路径打开读取数据
workbook = xlrd.open_workbook(File_Path, ‘r’)
# 获取第一个sheet
sheet_name = workbook.sheet_names()[0]
#print(“表格名称:”, sheet_name)
# 根据sheet索引或者名称获取sheet内容
sheet = workbook.sheet_by_name(sheet_name)
# sheet的名称,行数,列数
#print(“表格行数:”, sheet.nrows, “列数:”, sheet.ncols)
# 获取整行和整列的值 (数组)列表
OAs = []
for i in range(0,19,5):
OA = sheet.col_values(i) # 获取列内容
#print(OA)
OA = [qa for qa in OA if qa != ‘’] # 清理列之间的空值
#print(OA)
OAs.append(OA)
print(OAs)
# 初始化数据
datas = []
# 根据OAs的长度,循环下标(0~长度)
for q in range(len(OAs)):
#print(‘q:’,q)
# 每一个q就是一列
# 从每一个q里面,从第3个表格开始读取到12个表格数据(j行)
for j in range(2,12):
print(‘q j’,q,j)
print(OAs[q][j])
# 如果数据==1524.5,则添加数据
if(OAs[q][j] == 1524.5):
# 第一个数据是OA1
raws = [‘OA’+str(q+1)]
# 第2~3个数据是从1524.5,后面依次往后拿取
raws = raws + sheet.row_values(j)[q5+1:q5+3]
# 第4个数据添加11
raws.append(11)
# 第5个数据是第三个减去10
raws.append(raws[2]-10)
if abs(raws[2] -10) < 1:
raws.append(‘’)
raws.append(‘pass’)
else:
raws.append(‘’)
raws.append(‘fail’)
print(raws)
datas.append(raws)
print(datas)
# 返回最终的数据,二维列表
return datas
def TraversingFolders(path):
# 遍历path文件夹,返回所有的Excel
# 初始化文件列表
file_lists = []
# 循环遍历
for file in os.listdir(path):
# 判断是否以.xlsx结尾的文件
if(file.endswith(‘.xls’)):
# 追加到文件列表
file_lists.append( os.path.join(path,file))
return file_lists

def SaveExcel(File_Path,datas):
# 创建一个workbook 设置编码
workbook = xlwt.Workbook(encoding = ‘utf-8’)
# 创建一个worksheet 设置覆盖写入为开启
worksheet = workbook.add_sheet(‘目标数据’,cell_overwrite_ok=True)
# 写入excel
# 参数对应 行, 列, 值
titles = [‘Wavelength(nm)’,‘EDFA Type’,‘Input power/dBm’,‘Gain Test/dB’,‘Gain Set/dB’,‘Δ(dB)’,‘Criteria’,‘Pass/Fail’]
# 循环遍历标题,从第2行开始写入
for i in range(len(titles)):
worksheet.write(1,i, label = titles[i])
# 第6行的第一个数据写入1524.5
worksheet.write(6,0, label = ‘1524.5’)
# 循环遍历Excel读取的数据,第一层循环得到每一行的数据
for i in range(len(datas)):
# 循环遍历每一行的数据,第一层循环得到每一个数据
for j in range(len(datas[i])):
# 写入数据依次往后
worksheet.write(2+i,j+1, label = datas[i][j])
# 覆盖写入数据第7行第7个数据
worksheet.write_merge(2, 9, 6, 6,label = ’ <±1dB ‘)
#worksheet.write(6,6, label = ’ <±1dB’)
# 保存
excel_name = File_Path+‘/目标数据’+‘.xls’
print(excel_name)
workbook.save(excel_name)

#dir = input(‘请输入文件所在目录:’)
dir = (r’C:\Users\Administrator\Desktop\2’)
files = TraversingFolders(dir)
print(files)
####### 循环文件夹中每一个Excel
for f in files:
datas = read_excel(f)
SaveExcel(dir,datas)
print(‘写入成功’)

总结

提取后数据

可能遇到问题:

使用Python实现对excel数据的处理相关推荐

  1. Python数据分析实战【七】:用Python实现对Excel文件中的数据进行md5加密【文末源码地址】

    文章目录 获取数据 加密函数 数据加密 结尾 源码地址 本文可以学习到以下内容: 使用 pandas 中的 to_excel 生成 excel 数据 使用 pandas 中的 read_excel 读 ...

  2. python应用——用python实现对excel的查找替换

    在excel里面用ctrl+F或者substitute()函数可以实现查找和替换操作. 但这次用python试试读取excel并且查找和替换特定元素.简单整理了几种方式. 情形1 在没有重复的情况下直 ...

  3. eviews实现对excel数据的导入

    eviews对excel数据导入 首先打开eviews软件 然后点击file-import-import from file 选中所需要导入的文件 选中之后,点击下一步 继续点击下一步 点击 下一步 ...

  4. python实现对Excel加密方法

    import os, sys import win32com.client import time import hashlib import tkinter as tk    #调用GUI图形模块 ...

  5. python对excel表统计视频教程_Python实现对excel文件列表值进行统计的方法

    本文实例讲述了Python实现对excel文件列表值进行统计的方法.分享给大家供大家参考.具体如下: #!/usr/bin/env python #coding=gbk #此PY用来统计一个execl ...

  6. 用python编excel统计表_Python实现对excel文件列表值进行统计的方法

    本文实例讲述了Python实现对excel文件列表值进行统计的方法.分享给大家供大家参考.具体如下: #!/usr/bin/env python #coding=gbk #此PY用来统计一个execl ...

  7. Python利用xlsxwriter实现对Excel写入数据的样式调整(字体,居中等)

    声明:参考大佬文章 参考网上资料发现很少有用xlsxwriter实现用Python对Excel写入数据的同时进行字体样式调整操作的,因为我用的也是xlsxwriter,所以查找总结了一个用xlsxwr ...

  8. 基于Python的高校勤工俭学工资管理系统——实现对excel表格的数据操作(xwlings库)

    基于Python的高校勤工俭学工资管理系统 1 需求概述 1.1 需求分析 勤工俭学是指学校组织的或学生个人从事的有酬劳动,用以助学.在我国,许多高校借以对学生进行劳动技术教育,培养正确的劳动观点和态 ...

  9. 用python的openpyxl库实现对excel工作表的自动化操作

    用python的openpyxl库实现对excel工作表的自动化操作 用python的openpyxl库读取excel工作表,批量建立工作表,批量修改工作表标题,批量设置单元格样式,批量调整打印设置. ...

最新文章

  1. 全排列:不含重复元素和含重复元素的全排列
  2. vivo手机解锁工具_屏幕指纹优势凸显,vivo持续研发致力打造全屏指纹解锁
  3. 2021开封高考个人成绩查询,开封召开2021届高三二模成绩分析会
  4. 兰州大学第一届『飞马杯』程序设计竞赛 - ★★飞马祝福语★★(动态dp)
  5. Visual Studio Code Go插件配置选项
  6. Spring Boot 集成 Mybatis 实现双数据源
  7. 1869. 哪种连续子字符串更长
  8. Java监控MongoDB空间使用量、连接数
  9. laravel 数据库操作之查询构造器
  10. 正确将博客网页保存为pdf
  11. 自考 02333 软件工程 思维导图 结构化方法
  12. Labwindows扫盲+技巧贴,CVI学习必看
  13. JavaScript的ES3, ES5, ES6实现继承方式
  14. 化繁为简,远光天擎助你一键云部署
  15. 背包问题(01背包和完全背包)
  16. 二元函数对xy同时求导_关于反三角函数及其导数
  17. JAVA程序设计-头歌实训-------# 第一阶段 Java语言快速入门
  18. 中国菜刀能在linux上运行吗,【Web Shell】- 技术剖析中国菜刀
  19. JST日本压着端子PH系列线对板连接器的PCB封装库
  20. WEB方面面试题详解

热门文章

  1. 复杂网络多局域世界模型matlab算法实现
  2. 为自己的snap应用添加变量
  3. 兰州大学计算机科学技术考研科目,兰州大学(专业学位)计算机技术研究生考试科目和考研参考书目...
  4. yolov5学习笔记
  5. stm32的rxne和idle中断_stm32 USART_IT_IDLE中断 一帧数据
  6. 【Filecoin源码仓库全解析】第二章:如何创建账户钱包并获取FIL Mock代币
  7. python 协程池
  8. Unity URP shader 出现 SRP Batcher 为 not compatible时 渲染性能会下降 应该怎么处理 ?
  9. 学习:数学----容斥原理
  10. ADT和OOP自学,并撰写心得和收获。