帮一个中科院小学妹写的一个小脚本,主要是利用python中的pandas,xlrd,dbfpy包将excel中的xls/csv文件中转化成dbf文件


一、安装相关包

pip install xlrd
pip install dbfpy

二、实现

代码如下

# -*- coding: utf-8 -*-__author__ = 'lihailin'
__mail__ = '415787837@qq.com'
__date__ = '2018-05-04'
__version__ = 1.0  import pandas as pd
import os,sys
from dbfpy import dbf
import csvdef xls2csv(xlsFile, csvFileName):# excel文件转csvdata = pd.read_excel(xlsFile, 'pcp_lookup', index_col=0)data.to_csv(csvFileName, encoding='utf-8')def genDbfHeader(dbfDb, csvHeader):'''生成dbf文件表头Args:dbfDb: Dbf类实例csvHeader: list, 其值为字符串用于创建dbf表头的字段'''for filed in csvHeader:# print filed,'--------'tmp = (filed, 'C', 25) # 定义字段dbfDb.addField(tmp)return dbfDbdef writeDbfData(dbfDb, dbfData):'''写数据到dbf文件Args:dbfDb: Dbf类实例dbfData: dict, key为Dbf的header中的字段'''for onedata in dbfData:# print onedatarec = dbfDb.newRecord()for key in onedata.keys(): # 对每条记录的所有字段写数据# print(key)rec[key] = onedata[key]rec.store()def csv2dbf(csvFile, dbfFile):# csv文件转dbf文件with open(csvFile, 'rb') as csvfile:# dbf写表头reader = csv.reader(csvfile, delimiter=',', quotechar='|')header_row = next(reader)db = dbf.Dbf(dbfFile, new=True)db = genDbfHeader(db, header_row)with open(csvFile, 'rb') as csvfile:# 写dbf数据reader = csv.DictReader(csvfile)  # 字典形式writeDbfData(db, reader)db.close()def main():# 遍历一个文件夹下的所有.xlsx文件,并将其转换成.dbf文件xlsDictory = '.'  #文件夹for xlsFile in os.listdir(xlsDictory):tmp = xlsFile.split('.')[0]# if '.xlsx' in xlsFile:#    continue# if '.csv' not in xlsFile:#     continuecsvFileName =  '%s.csv' % tmpif '.xlsx' in xlsFile:  # 如果是.xlsx先转成.csv    xls2csv(xlsFile, csvFileName)dbfFileName =  '%s.dbf' % tmpcsv2dbf(csvFileName, dbfFileName)os.system('mkdir dbfFile')os.system('mv *.dbf dbfFile')if __name__ == '__main__':main()

环境

  1. python2.7

参考资料

  1. dbfpy doc
  2. 如何将excel文件转化成CSV格式
  3. python csv

xls/csv文件转换成dbf文件相关推荐

  1. csv文件转换成xlsx文件方法

    背景: 在实际工作中,我们经常会面对大批量的数据进行处理,其中将csv文件文件转换成xlsx文件就是其中的一项,废话少说,上家伙: 一般方法: 将csv文件另存为xlsx文件: 但实际中03版本(.x ...

  2. 怎么把excel文件转成dta_如何将excel表格数据转化为dta格式-怎么把dat文件转换成Excel文件,里面的数据格式要......

    dat文件怎么转换成excel 1.首先点击excel表格左上角的"文件"选项. 2.在打开的页面中点击"另存为"选项并点击其中的"浏览"按 ...

  3. Java实现从Excel文件转换成XML文件(一)

    实现思路:         直接从Excel文件装换成XML文件是可以实现的,这里我采用一个中间装换,也就是先实现excel文件内容放入实现设计好的access数据库文件中,然后再从access中读取 ...

  4. stata中超好用小命令:一键将excel文件转换成dta文件

    xls2dta命令:将excel文件转换成dta文件 在stata应用中,往往需要对多个excel中的数据进行处理,这就需将excel格式的数据转化为stata格式的数据,通常的做法是读入(impor ...

  5. bat脚本中获取上级目录_使用Python写一个可以监控Tomcat 运行的脚本,并且把.py文件转换成.exe文件...

    使用Python写一个可以监控Tomcat 运行的脚本,并且把.py文件转换成.exe文件 文章来源与博主本人的CSDN博客,博客地址:https://blog.csdn.net/weixin_435 ...

  6. 如何将Ai文件转换成PDF文件

    要将Ai文件转换成PDF文件,请按照以下步骤操作: 1. 打开客汇宝网站软件并打开要转换的文件. 2. 点击"文件"菜单并选择"另存为". 3. 在" ...

  7. java编程将HTML文件转换成PDF文件

    网上有好几种方法可以将将HTML文件转换成PDF文件但是有些对HTML文件格式要求比较严格,稍微错了一些就不能生成我们所要的PDF文件,这里我推荐一个 PD4ML,它可以解决HTML文件格式不正确的问 ...

  8. 怎么把图片文件转换成PDF文件

    除了office文件外,我们最常用的就是PDF文件了.因为PDF文件格式可以将文字.字型.格式.颜色及独立于 设备和分辨率的图形图像等封装在一个文件中.该格式文件还可以包含超文本链接.声音和动态影像等 ...

  9. pdf文件转换成jpg文件

    pdf文件转换成jpg文件 扫描的文件是PDF格式的,应公司的要求,需要将它转成JPG图片格式,这让我伤透了脑筋,经过自己网上教程的搜集和软件下载尝试,终于让我找到了一个蛮不错的转换工具,帮我解决了眼 ...

最新文章

  1. TensorFlow常用Python扩展包
  2. 【学术相关】你在读博士期间明白的最深刻的道理是什么?
  3. lasso回归_线性回归amp;lasso回归amp;岭回归介绍与对比
  4. 长语音识别体验_如何为语音体验写作
  5. 多元相关性分析_电子健康素养与中青年脑卒中患者健康行为的相关性分析
  6. 腾讯云服务器的环境配置与使用
  7. CCF NOI100002 取数游戏
  8. [渝粤教育] 西南科技大学 中国古代文学〔1〕 在线考试复习资料
  9. c语言查看错误步骤命令,C语言之预处理命令
  10. [lammps教程]OVITO绘制原子应力云图
  11. Java 获取Excel中的表单控件
  12. Office-014 显示域代码
  13. ros开发语言python效率_5种机器人热门编程语言及优缺点分析
  14. 2018主流台式计算机跑分,pu天梯图2018最新版2018电脑cpu处理器性能排行榜
  15. 服务器限制网页只能跳转过来,限制网页只能在微信打开
  16. Arthas--深入排查java进程消耗CPU或内存过高问题
  17. 梦断代码读后感 (一)
  18. 重走c语言—摸鱼大学生的c语言基础笔记
  19. mysql 解压版安装教程
  20. C Primer Plus中文 第6版勘误表

热门文章

  1. JavaScript 把一个函数作为另一个函数的参数
  2. 在计算机上创建一个本地用户账户,多种方法教你创建和删除Win10本地账户?
  3. 常用分割评价指标Dice、Hausdorff_95、IOU、PPV等 + Python实现
  4. 【小程序】微信小程序代码如何转uniapp代码?
  5. java 输出素数_java 素数(按要求输出)
  6. Java毕设:基于SSM的高校运动会管理系统(spring+spring mvc+mybatis+mysql)1008
  7. 测试工程师应该具备的软性能力有哪些?
  8. 嵌入式linux开发,libpcap移植
  9. 笑话大全查询易语言代码
  10. 用于钢结构桥梁局部计算的ansa建模教程1