一、需求:

某公司每日收到一批DBF文件,A系统实时处理后将其中dealstat字段置为1(已处理)。现在每日晚间B系统也需要处理该文件,因此需将文件中dealstat字段修改为空(未处理)。

二、分析:

1、应创建副本进行修改

解答:使用shutil.copy

2、修改DBF

解答:使用dbf模块。此模块能找到的文档比较旧,需要结合代码进行理解。

三、代码实现:

#!/usr/bin/env python

# _*_ coding:utf-8 _*_

"""

@Time : 2020-01-15 10:43

@Author : Peanut_C

@FileName: DBF_Modifier.py

"""

import os

import time

import shutil

import dbf

source_dir = r'D:\'

destination_dir = r'E:\'

"""删除目标文件夹内旧文件"""

os.chdir(destination_dir)

for file in os.listdir(destination_dir):

os.remove(file)

print('INFO ===>>> 历史文件删除完成!\n')

"""文件拷贝任务"""

os.chdir(source_dir)

for file in os.listdir(source_dir):

shutil.copy(file, destination_dir)

print('INFO ===>>> 今日文件拷贝完成!\n')

"""DBF修改任务"""

os.chdir(destination_dir)

for file in os.listdir(destination_dir):

tb = dbf.Table(file) # 创建tb实例

# print(tb) # 打印tb信息

titles = dbf.get_fields(file) # 将表头以列表形式打印出来

# print(titles)

if 'dealstat' in titles:

flag = 0 # 文件修改标记

tb.open(mode=dbf.READ_WRITE) # 读写方式打开tb

for record in tb:

with record as r:

if r.dealstat is not None:

# print(r.dealstat)

r.dealstat = ''

flag = 1 # 修改后将标记改为1

# print(r.dealstat)

else:

continue

# print(record.dealstat)

tb.close()

if flag == 0:

print(file + "===>>>没有要修改的数据!\n")

else:

print(file + "===>>>DealStat字段修改完毕!\n")

else:

print(file + "===>>>没有DealStat字段!\n")

print('INFO ===>>> 今日文件修改完毕!\n')

四、运行情况:

运行程序,首先清空目标目录,然后创建文件副本,最后依次处理目录中的DBF文件。

虽是个简单的功能,但可节省不少时间,依此类推可对DBF进行其他修改。

希望能帮到有需要的朋友。

多多指教!

以上就是Python修改DBF文件指定列的详细内容,更多关于Python修改DBF文件的资料请关注我们其它相关文章!

本文标题: Python修改DBF文件指定列

本文地址: http://www.cppcns.com/jiaoben/python/370320.html

python编辑dbf文件_Python修改DBF文件指定列相关推荐

  1. python修改json文件_python修改json文件的value实例方法

    利用python修改json文件的value方法 做工程时遇到需要监听json文件,根据json文件中的key-value值作出相应处理的情形.为此写了修改json文件的python脚本供工程后续调用 ...

  2. python不同数据的读入_python读写不同编码txt文件_python读写txt文件

    python读写不同编码txt文件_python读写txt文件 以后整理规范 [python] view plaincopy import os import codecs filenames=os. ...

  3. python文件目录无权限_python检查目录文件权限并修改目录文件权限的操作

    我就废话不多说了,还是直接看代码吧! # -*- coding: utf-8 -*- # @author flynetcn import sys, os, pwd, stat, datetime; L ...

  4. python 修改excel文件_Python修改并保存当前excel文件

    在工作中经常需要修改excel文件并保存(例如添加行.添加列),如果只使用xlwt和xlrd并不能达成目的,需要用到xlutils.下面以我实际写的代码为例 备注:代码格式本来好好的,不知道为什么发表 ...

  5. python修改yaml文件_Python读取yaml文件的详细教程

    yaml简介 1.yaml [ˈjæməl]: Yet Another Markup Language :另一种标记语言.yaml 是专门用来写配置文件的语言,非常简洁和强大,之前用ini也能写配置文 ...

  6. python 解析xml格式_Python解析XML文件

    1.概述 Python有三种方法解析XML:SAX,DOM,以及ElementTree: 1.SAX (simple API for XML ) python 标准库包含SAX解析器,SAX用事件驱动 ...

  7. python下的所有文件_python批量复制文件夹下所有文件大小

    python复制文件夹下所有文件 Python---进阶---文件操作---获取文件夹下所有文件的数量和大小 一.####编写一个程序,统计当前目录下每个文件类型的文件数 ####思路: - 打开当前 ...

  8. python 读取文件_python读取docx文件,就是如此简单

    扫码加入千人跳槽求职QQ群或微信圈子,每日都有全国招聘信息哦     中文编码问题总是让人头疼(尤其是mac本),想要用Python读取word中的内容.用open()经常报错,通过百度搜索+问身边小 ...

  9. python显示目录中的文件_Python中的文件和目录操作实现

    Python中的文件和目录操作实现 对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数.重要的是,这 ...

  10. python处理json文件_python处理json文件

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python类型转换json类型的对应关系? json类型转换到python的类 ...

最新文章

  1. java 排队任务_android实现排队任务
  2. QML和C++混合编程--(二)
  3. 华为2017年财报,为何6036亿销售收入,净利润才479亿?
  4. spring mvc学习(60):ssm项目整合
  5. NOIP2015普及组第1题 45 金币 方法三(python3实现)
  6. 计算机网络及应用的说课稿,第一课计算机网络及应用说课稿
  7. Win10 64位安装SQL2000(个人版)
  8. python写入中文到文件乱码的问题
  9. Delphi 调用Domino Lotus OA
  10. 京东线报接口 全网一手线报全网(京东,淘宝,天猫)最全优惠信息
  11. MyBatis-Plus配置全局sql注入器后,BaseMapper中方法失效
  12. 【安全知识分享】PPTX|精益安全管理(130页)(附下载)
  13. LM2596电路简析
  14. 迈向高算力、跨域融合新拐点,智能座舱各路玩家如何卡位?
  15. 群智能(SI)与蚁群优化(ACO)概述
  16. 使用NAudio音频文件剪切指定片段
  17. 张鑫溢:9.21黄金原油独家操作建议指导.
  18. abb机器人过载报错_ABB机器人常见报警代码与解决方案
  19. 你知道管理的精髓是什么吗?-进度猫带你走进管理者的世界
  20. Waymo object detect 2D解决方案论文拓展

热门文章

  1. 第三方开发工具—PyCharm(安装、使用、汉化)超详细、图超多、注脚特多(Windows操作系统)
  2. IP变更导致redis集群不可用解决办法
  3. 怎么调整计算机的音量,笔记本音量怎么调_如何调整笔记本电脑的音量-win7之家...
  4. 关于粮食浪费问题的调查报告
  5. MySQL数据库基本操作,命令行创建数据库、数据表,查询语句,模糊查询、范围查询、判断查询
  6. 短信服务器和运营商的区别,什么是短信服务商?与短信运营商的区别
  7. 仿节奏大师java_HelloCpp 仿节奏大师Android游戏版本,只实现了击键功能,可以给大家启发. 238万源代码下载- www.pudn.com...
  8. matlab中zeros()函数与ones()函数用法
  9. 图形用户界面GUI(一)
  10. 建设工程施工合同系列一建工合同的范围(未完待续)