xls/csv文件转换成dbf文件
转至:https://blog.csdn.net/linhai1028/article/details/80211252
编写的一个小脚本,主要是利用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 csv def xls2csv(xlsFile, csvFileName):
# excel文件转csv
data = 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 dbfDb def writeDbfData(dbfDb, dbfData):
'''写数据到dbf文件
Args:
dbfDb: Dbf类实例
dbfData: dict, key为Dbf的header中的字段
'''
for onedata in dbfData:
# print onedata
rec = 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:
# continue csvFileName = '%s.csv' % tmp
if '.xlsx' in xlsFile: # 如果是.xlsx先转成.csv
xls2csv(xlsFile, csvFileName) dbfFileName = '%s.dbf' % tmp
csv2dbf(csvFileName, dbfFileName) os.system('mkdir dbfFile')
os.system('mv *.dbf dbfFile') if __name__ == '__main__':
main()
环境
- python2.7
参考资料
xls/csv文件转换成dbf文件的更多相关文章
- [转载]webarchive文件转换成htm文件
原文地址:webarchive文件转换成htm文件作者:xhbaxf Mac OS X系统带有文件转换功能,可以把webarchive文件变成html文件.方法是: Step 1: 建立一个文件夹 ...
- 自制 Python小工具 将markdown文件转换成Html文件
今天看到了一个Python库,名为markdown.瞬间就给了我一个灵感,那就是制作一个将markdown文件转换成html文件的小工具. 我的实验环境 操作系统: Windows 7 64位 旗舰版 ...
- <p><span style="font-size:14px">近期须要批量将PNM格式的文件转换成GIF文件。我尝试了例如以下的图像转换工具:</span></p>
近期须要批量将PNM格式的文件转换成GIF文件.我尝试了例如以下的图像转换工具: ImageBatch:全然免费,但只支持PNG JPEG BMP GIF四种格式 OfficeConverter:在线 ...
- Protocol Buffer使用转换工具将proto文件转换成Java文件流程及使用
Client与Server的网络通信协议传输使用google protobuf,服务器端使用的是Java 一. Protocol Buffersprotobuf全称Google Protocol Bu ...
- linux下的什么工具能将DVI文件转换成PostScript文件?
答: dvips,此工具能将由Latex或Tex生成的DVI文件转换成PostScript文件,官网在此
- 15个最好的PDF转word的在线转换器,将PDF文件转换成doc文件
PDF是一种文件格式,包含文本,图像,数据等,这是独立于操作系统的文件类型.它是一个开放的标准,压缩,另一方面DOC文件和矢量图形是由微软文字处理文件.该文件格式将纯文本格式转换为格式化文档.它支持几 ...
- chm文件转换成html文件,解决chm文件无法使用浏览器打开的问题
每天学习一点点 编程PDF电子书免费下载: http://www.shitanlife.com/code CHM是英语“Compiled Help Manual”的简写,即“已编译的帮助文件”.CHM ...
- C# 将PowerPoint文件转换成PDF文件
PowerPoint的优势在于对演示文档的操作上,而用PPT查看资料,反而会很麻烦.这时候,把PPT转换成PDF格式保存,再浏览,不失为一个好办法.在日常编程中和开发软件时,我们也有这样的需要.本文旨 ...
- 如何将hdf5文件转换成tflite文件
我们用keras训练模型后,通常保存的模型格式类型为hdf5格式,也就是.h5文件. 但如果我们想要移植到移动端,特别是基于tensorflow支持的移动端,那就需要转换成tflite格式. 如何转换 ...
随机推荐
- 多线程-其他方法-join等
1 package multithread4; 2 3 /* 4 * toString():返回该线程的字符串表现形式,包括线程名称.优先级和线程组 5 * Thread[Thread-0,5,mai ...
- kubernetes sticky session 配置
kubernetes中经常需要配置sticky session,此时需要根据你使用的ingress controller来设置了. 1.Nginx Ingress apiVersion: extens ...
- Python写春联(turtle版)
Python就好比编程界的瑞士军刀,开箱即用.无所不能.这得益于Python简洁易用的语法,以及丰富的第三方库,你想在电脑上做什么,总能找到事半功倍的第三方库.比如,在这新春佳节之际,用Python来 ...
- mpfu 位编辑处理?
1. 国内的不用处理,其余都做 2. 判断是否是mp 的项目 3 设置位数编辑 请求中 和 检查中都要做 4 以某一画面作为基准,修改不同的值. 5 对象外的数据直接设置在 ...
- CNN-卷积神经网络简单入门(1)
卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习 ...
- kindof
kindof:相当于 __kindof:表示当前类或者它的子类' 类设计历史 id:可以调用任何对象方法,不能进行编译检查 @interface Person : NSObject // xcode5 ...
- JVM学习七-(复习)垃圾收集策略与算法
垃圾收集策略与算法 程序计数器.虚拟机栈.本地方法栈随线程而生,也随线程而灭:栈帧随着方法的开始而入栈,随着方法的结束而出栈.这几个区域的内存分配和回收都具有确定性,在这几个区域内不需要过多考虑回收的 ...
- DbUnit入门实战
原文地址: http://yangzb.iteye.com/blog/947292 相信做过单元测试的人都会对JUnit 非常的熟悉了, 今天要介绍的DbUnit(http://dbunit.sour ...
- pytest-html 测试报告
前言 上一篇文章pytest简介中,执行测试用例后,在 pycharm 控制台(方式一)或 Terminal(方式二)中可以查看测试结果.但是在实际的接口自动化项目中一般需要生成直观的测试报告,这个测 ...
- 34、python并发编程之多进程(操作篇)
目录: 一 multiprocessing模块介绍 二 Process类的介绍 三 Process类的使用 四 守护进程 五 进程同步(锁) 六 队列(推荐使用) 七 管道 八 共享数据 九 信号量( ...