python读取excel表格生成erlang数据


Posted in Python onAugust 26, 2017

为了将excel数据自动转换成所需要的erlang数据,听同事说使用python会很方便简单,就自学了两天python,写了一个比较粗糙的python脚本,不过能用,有什么优化的地方请指教

代码如下:

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import sys
from openpyxl.reader.excel import load_workbook
import os
import os.path

def gen_data(filename):
 wb = load_workbook('dataxlsx/' + filename + '.xlsx') # 加载文件所有分页

 sheetnames = wb.get_sheet_names() # 获取所有分页的名字列表
 ws = wb.get_sheet_by_name(sheetnames[0]) # 取第一个分页的数据
# print 'ws:', ws

# print "Work Sheet Titile:", ws.title # 分页名称
# print "Work Sheet Rows:", ws.max_row # 分页行数
# print "Work Sheet Cols:", ws.max_column # 分页列数

 content = [] # 数据内容
 id_list = [] # ID列表

# ========================start concat need data=================
 content.append('%% this file is auto maked!\n')
 content.append('-module(' + filename + ').\n')
 content.append('-compile(export_all).\n')

 for i in range(4, ws.max_row + 1):  # 从表格第三行开始读取,由于range函数不包含文件尾,所以为了读到最后一行需+1
  for j in range(ws.max_column):
   if ws[i][j].value == None:
    content.append(' ,""')
   elif j == 0:
    id_list.append(int(ws[i][j].value))
    content.append('get(' + str(ws[i][j].value).strip() + ') ->\n')
    content.append(' {r_' + filename + ', ' + str(ws[i][j].value).strip())
   else:
    content.append(' ,' + str(ws[i][j].value).strip())
  content.append('};\n')

 content.append('get(_) ->\n')
 content.append(' not_match.\n')

 content.append('length() ->\n')
 content.append(' ' + str(ws.max_row - 1) + '.\n')
 content.append('id_list() ->\n ' + str(id_list) + '.')
# ==============================end===========================
 # 写入数据
 f = file('./server/' + filename + '.erl','w+')
 f.writelines(content)
 print 'create new file:', filename + '.erl'
 f.close() # 关闭通道
 return

def start_gen():
 # 删除旧的数据
 delnames = os.listdir('./server')
 for delname in delnames:
  os.remove('./server/' + delname)
  print 'delete old file:', delname

 for _, _, filenames in os.walk('./dataxlsx'): # 遍历文件夹
  for filename in filenames: # 遍历文件
   find = filename.find('.xlsx') # 返回该文件名称长度
#   print "find is:", find
   if filename[0] == '~' or find == -1: # 文件名以'~'开头或者找不到文件名, 如以'.'开头的文件
    continue
   else:
    split_list = filename.split('.') # 使用'.'分割文件名,获得[文件名,文件格式]
#    print split_list
    gen_data(split_list[0]) # 用文件名作为参数调用gen_data

start_gen()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
对于Python异常处理慎用“except:pass”建议
Apr 02 Python
PyCharm鼠标右键不显示Run unittest的解决方法
Nov 30 Python
手把手教你使用Python创建微信机器人
Apr 29 Python
Python 点击指定位置验证码破解的实现代码
Sep 11 Python
解决python 读取excel时 日期变成数字并加.0的问题
Oct 08 Python
Python3实现zip分卷压缩过程解析
Oct 09 Python
wxPython实现整点报时
Nov 18 Python
最新2019Pycharm安装教程 亲测
Feb 28 Python
解决json中ensure_ascii=False的问题
Apr 03 Python
Python捕获异常堆栈信息的几种方法(小结)
May 18 Python
详解Anaconda安装tensorflow报错问题解决方法
Nov 01 Python
解决TensorFlow训练模型及保存数量限制的问题
Mar 03 Python
使用Python实现简单的服务器功能
Aug 25 #Python
详解Python实现多进程异步事件驱动引擎
Aug 25 #Python
python基础while循环及if判断的实例讲解
Aug 25 #Python
itchat和matplotlib的结合使用爬取微信信息的实例
Aug 25 #Python
用 Python 爬了爬自己的微信朋友(实例讲解)
Aug 25 #Python
详解python基础之while循环及if判断
Aug 24 #Python
用Python实现随机森林算法的示例
Aug 24 #Python
You might like
【动漫杂谈】关于《请在T台上微笑》
2020/03/03 日漫
phpMyAdmin 链接表的附加功能尚未激活的问题
2010/08/01 PHP
php更改目录及子目录下所有的文件后缀的代码
2010/09/24 PHP
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
使用PHP获取汉字的拼音(全部与首字母)
2013/06/27 PHP
PHP获取网页标题的3种实现方法代码实例
2014/04/11 PHP
ThinkPHP内置jsonRPC的缺陷分析
2014/12/18 PHP
PHP生成plist数据的方法
2015/06/16 PHP
浅谈PHP命令执行php文件需要注意的问题
2016/12/16 PHP
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
JQuery中使用Ajax赋值给全局变量异常的解决方法
2014/01/10 Javascript
js实现随屏幕滚动的带缓冲效果的右下角广告代码
2015/09/04 Javascript
JS将滑动门改为选项卡(需鼠标点击)的实现方法
2015/09/27 Javascript
form表单转Json提交的方法(推荐)
2016/09/23 Javascript
JavaScript trim 实现去除字符串首尾指定字符的简单方法
2016/12/27 Javascript
用file标签实现多图文件上传预览
2017/02/14 Javascript
layui文件上传实现代码
2017/05/20 Javascript
利用jsonp与代理服务器方案解决跨域问题
2017/09/14 Javascript
简单了解小程序+node梳理登陆流程
2019/06/24 Javascript
es6中new.target的作用和使用场景简单示例分析
2020/03/14 Javascript
js实现石头剪刀布游戏
2020/10/11 Javascript
html+vue.js 实现漂亮分页功能可兼容IE
2020/11/07 Javascript
用Python抢过年的火车票附源码
2015/12/07 Python
使用Python操作excel文件的实例代码
2017/10/15 Python
Django使用httpresponse返回用户头像实例代码
2018/01/26 Python
Django在pycharm下修改默认启动端口的方法
2019/07/26 Python
移动端HTML5开发神器之vconsole详解
2020/12/15 HTML / CSS
汇集了世界上最好的天然和有机美容产品:LoveLula
2018/02/05 全球购物
碧欧泉法国官网:Biotherm法国
2019/10/23 全球购物
商得四方公司面试题(gid+)
2014/04/30 面试题
出纳的岗位职责
2013/11/09 职场文书
30年同学聚会邀请函
2014/01/25 职场文书
保护黄河倡议书
2014/05/16 职场文书
休假证明书
2015/06/24 职场文书
理解深度学习之深度学习简介
2021/04/14 Python
使用python绘制横竖条形图
2022/04/21 Python