#coding:utf-8
#导入相应模块
import csv,xlwt,sys,os,fnmatch,xlrd
from xlutils.copy import copy #对xls文件中的绝对值数据求最大值并列表
def max_excel(excel):
rb1=xlrd.open_workbook(excel)
#sheet0=rb1.sheets()[1]
wb1=copy(rb1)
#sheet页通过sheet名称得到的才能获取行数和列数,但是不能进行写操作,通过下标获得的sheet可以进行写操作,但是不能获得行数和列数
sheet0=rb1.sheet_by_name("Absolute")
sheet3=wb1.get_sheet(2)
nrows1=sheet0.nrows
ncols1=sheet0.ncols
for k in range(0,ncols1,):
sheet3.write(0,k,u'炸点%d' %(k+1))
cols = sheet0.col_values(k)
cmax=max(cols[1:])
sheet3.write(1,k, cmax)
wb1.save(excel) #对xls文件中的data数据求绝对值
def abs_excel(excel):
#print "3"
rb=xlrd.open_workbook(excel)
#sheet=rb.sheets()[0]
wb=copy(rb)
sheet = rb.sheet_by_name("data")
#print sheet
sheet2=wb.get_sheet(1)
nrows=sheet.nrows
ncols=sheet.ncols
for i in range(nrows):
for j in range(ncols):
w=sheet.cell(i,j).value
if (i==0):
sheet2.write(i,j,w)
else:
v = float(w)
sheet2.write(i,j,abs(v))
wb.save(excel)
max_excel(excel) #另存为xls文件
def ex_file(mycsvfile):
csvfile = open(mycsvfile,"rb")
#csvfile = open("test.csv","rb")
#新建excel文件
myexcel = xlwt.Workbook()
#新建sheet页
mysheet1= myexcel.add_sheet("data")
mysheet2= myexcel.add_sheet("Absolute")
mysheet3= myexcel.add_sheet("MAX")
#获取csv的文件名
portion = os.path.splitext(mycsvfile)
#读取csv中文件信息
reader = csv.reader(csvfile,dialect='excel')
l = 0
#通过循环获取单行信息
for line in reader:
r = 0
#通过双重循环获取单个单元信息
for i in line:
#通过双重循环写入excel表格
mysheet1.write(l,r,i)
r+=1
l+=1
myexcel.save(portion[0]+".xls")
excel = portion[0]+".xls"
#print portion[0]+".xls"
abs_excel(excel) def iterfindfiles(path, fnexp):
for root, dirs, files in os.walk(path):
for filename in fnmatch.filter(files, fnexp):
yield os.path.join(root, filename) #批量处理
if __name__=="__main__":
mypath=raw_input("Please enter a path:")
myfnexp='*.csv'
#print 1
for filename in iterfindfiles(mypath,myfnexp):
#print filename
ex_file(filename)
#abs_excel(filename)
#max_excel(filename)
raw_input ('please enter to exit')

最后可以通过 python pyinstaller --console --onefile  绝对路径\py文件.py  命令生产成对应的exe文件。

python操作csv-xls完善后的代码的更多相关文章

  1. 数学建模之Python操作csv文件

    1.用Python通过csv文件里面的某一列,形成键值,然后统计键在其他列出现的次数. import pandas as pd import numpy as np import csv import ...

  2. Python 操作csv和excel表格

    1. 操作csv表格 使用的库 csv 1. csv文件里读取数据 代码 1. 以列表形式打开 import csv f = open('csv_test.csv', 'r') # 打开csv文件 c ...

  3. python操作csv和excel文件

    1.操作csv文件 1).读取文件 import csv f=open("test.csv",'r') t_text=csv.reader(f) for t,i in t_text ...

  4. Python操作csv文件

    1.什么是csv文件 The so-called CSV (Comma Separated Values) format is the most common import and export fo ...

  5. Python操作CSV和Excel

    概述 csv是最通用的文件格式,本质是文本文件,用记事本即可打开.同一行中每个字段间用逗号分隔,在csv中显示的是在不同单元格中,在记事本中显示的是一行中用逗号分隔. xls是excel专用格式,是二 ...

  6. python操作csv

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #CSV文件的写入(按行写入) import csv #csv文件,是一种常用的文本格式,用以存储表格数据,很 ...

  7. python操作MySQL数据库报错问题解决

    编写好Python操作数据库的脚本后,运行报错如下: 报错1:“AttributeError: 'NoneType' object has no attribute 'encoding'” 解决办法: ...

  8. python操作三大主流数据库(6)python操作mysql⑥新闻管理后台功能的完善(增、ajax异步删除新闻、改、查)

    python操作mysql⑥新闻管理后台功能的完善(增.删.改.查)安装表单验证D:\python\python_mysql_redis_mongodb\version02>pip instal ...

  9. python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件

    python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 python操作txt文件中 ...

随机推荐

  1. 转:ProGuard 常见命令备份

    转: https://my.oschina.net/sunyh/blog/30359 #-dontshrink #不压缩,减少jar的大小一般都压缩掉,为了增加反编译的难度也可以不压缩 #-donto ...

  2. 数字转化为人民币大写(PHP)

    <?php function numTrmb($num) { $d = array("零", "壹", "贰", "叁&qu ...

  3. set up size, title to tcl tk main window

    #!/usr/bin/wish wm title . "this is main title" wm geometry . 500x300+30+200 500 --width 3 ...

  4. NAS4Free 配置BT下载

    NAS4Free 9.3.0.2 开启BT下载功能 Services|BitTorrent 选中右上角的复选框 Peer port 是监听端口,用于接受外部连接,需要在路由器配置该端口到服务器,才能提 ...

  5. Apache的prefork模式和worker模式

    prefork模式这个多路处理模块(MPM)实现了一个非线程型的.预派生的web服务器,它的工作方式类似于Apache 1.3.它适合于没有线程安全库,需要避免线程兼容性问题的系统.它是要求将每个请求 ...

  6. c链表结点的删除和添加

    #include<stdio.h> #include<stdlib.h> typedef char datetype;/*定义新的数据类型名*/ typedef struct ...

  7. RenderPartial RenderAction Partial Action

    MVC Razor中有不同的展现partial view的方法,许多开发人员子在选择使用 RenderPartial or RenderAction or Partial or Action help ...

  8. Obstack是C标准库里面对内存管理的GNU扩展

    Obstack是C标准库里面对内存管理的GNU扩展 Obstack介绍 Obstack初始化 在Obstack中申请对象 释放对象 申请growing object 获取Obstack状态 数据对齐 ...

  9. javacc

    http://www.cnblogs.com/Gavin_Liu/archive/2009/03/07/1405029.html https://javacc.java.net/ http://www ...

  10. 从C++到Qt(命令行编译,讲解原理)

    Qt 是 C++ 的库,Qt 在 ansi C++ 的基础上进行了一点扩展. 但国内似乎比较浮躁,学Qt的很多连基本的C++如何编译似乎都不太清楚.本文舍弃IDE或qmake.cmake等工具的束缚, ...