python读取excel表格生成erlang数据

发布时间 - 2026-01-11 02:58:19    点击率:

为了将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  # excel  # erlang  # python读取文件夹中图片的图片名并写入excel表格  # Python读取pdf表格写入excel的方法  # 解决python pandas读取excel中多个不同sheet表格存在的问题  # Python3读取和写入excel表格数据的示例代码  # python读取Excel表格文件的方法  # python3 读取Excel表格中的数据  # Python读取Excel表格  # 并同时画折线图和柱状图的方法  # python实现读取excel表格详解方法  # 分页  # 遍历  # 有什么  # 第一个  # 找不到  # 两天  # 写了  # 会很  # 转换成  # 所需要  # 学了  # 读到  # 大家多多  # 不包含  # 地方请  # 行数  # 加载  # 第三行  # load_workbook  # os 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: JS去除重复并统计数量的实现方法  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  网站建设整体流程解析,建站其实很容易!  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  新三国志曹操传主线渭水交兵攻略  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  电商网站制作价格怎么算,网上拍卖流程以及规则?  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  如何用PHP工具快速搭建高效网站?  Laravel怎么连接多个数据库_Laravel多数据库连接配置  ,南京靠谱的征婚网站?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  如何在Windows虚拟主机上快速搭建网站?  如何快速搭建高效WAP手机网站?  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  如何快速查询网站的真实建站时间?  如何在云虚拟主机上快速搭建个人网站?  如何在IIS管理器中快速创建并配置网站?  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  nodejs redis 发布订阅机制封装实现方法及实例代码  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  网站制作价目表怎么做,珍爱网婚介费用多少?  利用python获取某年中每个月的第一天和最后一天  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  EditPlus 正则表达式 实战(3)  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  如何为不同团队 ID 动态生成多个独立按钮  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  Laravel如何使用withoutEvents方法临时禁用模型事件  JavaScript Ajax实现异步通信  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  Angular 表单中正确绑定输入值以确保提交与验证正常工作  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  如何生成腾讯云建站专用兑换码?  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  Laravel如何使用Sanctum进行API认证?(SPA实战)  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  太平洋网站制作公司,网络用语太平洋是什么意思?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  详解CentOS6.5 安装 MySQL5.1.71的方法  Laravel怎么在Controller之外的地方验证数据