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格式. 如何转换 ...
随机推荐
- golang操作mysql
1. 安装mysql驱动库和sqlx基于官方sql库的扩展库 go get github.com/go-sql-driver/mysql go get github.com/jmoiron/sqlx ...
- Servlet-请求的分发处理
1,HelloServlet类中 2,a.html中
- vue 快速入门 系列 —— 实例方法(或 property)和静态方法
其他章节请看: vue 快速入门 系列 实例方法(或 property)和静态方法 在 Vue(自身) 项目结构 一文中,我们研究了 vue 项目自身构建过程,也知晓了 import Vue from ...
- 阿里巴巴发布最佳实践 | 阿里巴巴DevOps实践指南
编者按:本文源自阿里云云效团队出品的<阿里巴巴DevOps实践指南>,扫描上方二维码或前往:https://developer.aliyun.com/topic/devops,下载完整版电 ...
- 运用Spring Aop,一个注解实现日志记录
运用Spring Aop,一个注解实现日志记录 1. 介绍 我们都知道Spring框架的两大特性分别是 IOC (控制反转)和 AOP (面向切面),这个是每一个Spring学习视频里面一开始都会提到 ...
- 关于在 Linux 下多个不相干的进程互斥访问同一片共享内存的问题
转载请注明来源:https://www.cnblogs.com/hookjc/ 这里的"不相干",定义为: 这几个进程没有父子关系,也没有 Server/Client 关系 这一片 ...
- JMeter压力测试简单使用
原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11915535.html JMeter压力测试简单使用: 我们可以使用JMeter来测试一下自己 ...
- GoogleGoogleGoogle!!!! 百度云资源
一些谷歌镜像地址,够用了 Google 镜像站搜集 田飞雨 » Google 镜像站搜集 https://github.com/sxyx2008/DevArticles/issues/99 http: ...
- maven项目pom文件下载的包放在哪
右击项目configure bulid path ----->libraries--->maven dependencies 可以看到每个jar的存放路径
- Apache——配置与应用
Apache配置与应用 1.概述 2.httpd服务支持的虚拟主机类型 3.构建虚拟Web主机 4.构建Web虚拟目录与用户授权限制 5.日志分割 6.AWStats分析系统 1.概述: 虚拟web主 ...