python读写dbf数据库

dbf数据库作为一种简单的数据库,曾经广泛使用。现在在金融领域还是有很多的应用之处,工作中遇到此类的问题,在此记录一下。

1. 读取dbf

‘‘‘
读取DBF文件
‘‘‘
def readDbfFile(filename):
    table = dbfread.DBF(filename, encoding=‘GBK‘)

    for field in table.fields:
        print(field)

    for record in table:
        for field in record:
            print(field, record[field])

   for delete_record in table.delete:
       print(delete_record)

需要倒入外部库:

import dbfread

代码解释:

上面的例子分别读取了dbf的列头,全部的记录和删除的记录

此方法,python2.x和python3.x都是通用的。

2. 写dbf

‘‘‘
写DBF文件
@filename 文件名
@header   列头
@content  内容
‘‘‘
def writeDbfFile(filename, header, content):
    # 打开dbf
    db = dbf.Dbf(filename, new=True)
    # 写列头
    for field in header:
        # 此处需要改成长度可配的,长度太短会导致数据被截断
        if type(field) == unicode:
            field = field.encode(‘GBK‘)
        db.addField((field, ‘C‘, 20))

    # 写数据
    for record in content:
        rec = db.newRecord()
        for key, value in itertools.izip(header, record):
            if type(value) == unicode:
                rec[key] = value.encode(‘GBK‘)
            else:
                rec[key] = value
            rec.store()
    # 关闭文档
    db.close()

需要的外部库:

from dbfpy import dbf

代码解释:

写dbf的步骤,先新建一个dbf文件,先写入列头,然后每次新增一条记录,写入记录;最后关闭dbf文件。

此方法python2.x可用

原文地址:https://www.cnblogs.com/zhugaopeng/p/9745800.html

时间: 2024-10-04 23:16:13

python读写dbf数据库的相关文章

python读写dbf文件

Python读写dbf文件 # coding=utf8 """ A reader and writer for dbf file.see http://code.activestate.com/recipes/362715/ for moe detail """ import struct import datetime import decimal import itertools def dbfreader(f):     "&qu

Python读写Redis数据库

import redis class Database: def __init__(self): self.host = 'localhost' self.port = 6379 def write(self,website,city,year,month,day,deal_number): try: key = '_'.join([website,city,str(year),str(month),str(day)]) val = deal_number r = redis.StrictRed

python读写csv时中文乱码问题解决办法

参考1 参考2 CSV是英文Comma Separate Values(逗号分隔值)的缩写,顾名思义,文档的内容是由 "," 分隔的一列列的数据构成的,可以使用excel和文本编辑器等打开.CSV文档是一种编辑方便,可视化效果极佳的数据存储方式 1.python读写.追加csv方法: 'r':只读(缺省.如果文件不存在,则抛出错误) 'w':只写(如果文件不存在,则自动创建文件) 'a':附加到文件末尾(如果文件不存在,则自动创建文件) 'r+':读写(如果文件不存在,则抛出错误) 1

python 读写Oracle10g数据简介

1.测试环境: Centos6 X86_64python 2.6 Oracle 10g 2.安装cx_Oracle 和 Oracle InstantClient: http://www.rpmfind.net/linux/rpm2html/search.php?query=cx_oraclehttp://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 3.编辑当前用户的 .bash_pro

Python多进程爬虫东方财富盘口异动数据+Python读写Mysql与Pandas读写Mysql效率对比

先上个图看下网页版数据.mysql结构化数据 通过Python读写mysql执行时间为:1477s,而通过Pandas读写mysql执行时间为:47s,方法2速度几乎是方法1的30倍.在于IO读写上,Python多线程显得非常鸡肋,具体分析可参考:https://cuiqingcai.com/3325.html 1.Python读写Mysql # -*- coding: utf-8 -*- import pandas as pd import tushare as ts import pymys

Python读写文件

Python读写文件1.open使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('thefile.txt')try:     all_the_text = file_object.read( )finally:     file_object.close( ) 注:不能把open语句放在try块里,因为当打开文件出现异常时,文件对象file_object无法执行close()方法.

python操作mysql数据库

连接数据库 输入值 存入数据库 关闭 import string import mysql.connector conn=mysql.connector.connect(user='root',password='test',database='dalian',use_unicode=True) cursor=conn.cursor() a=raw_input('enter an id: ') b=raw_input('enter a name: ') while(a!='quit' or b!

python 全栈 数据库 (三) python操作数据库

python 操作MYSQL数据库主要有两种方式: 使用原生模块:pymysql ORM框架:SQLAchemy 一.pymysql 1.1下载安装模块 第一种:cmd下:执行命令下载安装:pip3 install pymysql 第二种:IDE下pycharm python环境路径下添加模块 1.2使用操作 #导入模块 import pymysql #建立连接通道,建立连接填入(连接数据库的IP地址,端口号,用户名,密码,要操作的数据库,字符编码) conn = pymysql.connect

Python使用MySQL数据库(新)

之前写过一篇 Python使用MySQL数据库的博客,主要使用的是Python2和MySQLdb驱动. python使用mysql数据库 然而,2016年开始,我从Python2切换到了Python3,Python2已经基本不再使用,MySQLdb驱动从2014年1月停止了维护.所以,打算重新再来写这篇博客. Python2 ---> Python3 MySQLdb --> PyMySQL 一,安装PyMySQL Python是编程语言,MySQL是数据库,它们是两种不同的技术:要想使Pyth