栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

用pyodbc读取DBF文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用pyodbc读取DBF文件

我做的!!!!

那里我所做的事情有几个问题,在这里,我提供了解决问题的方法(在第一次使用Ethan Furman解决方案实施之后)

首先是驱动程序问题,事实证明Windows的DBF驱动程序是32位程序,并且在64位操作系统上运行,因此,我安装了Python-
amd64,这是第一个问题,因此我安装了32位蟒蛇。

第二个问题是库/文件问题,根据这个,DBF文件在VFP> 7 diferent,所以我pyodbc库将无法正确读取它们,所以我尝试没有成功一些OLE-
DB库和我决定向从头开始。

谷歌搜索了一段时间,把我带到了这篇文章,这终于使我对此有所了解

基本上,我做了以下工作:

import win32com.clientconn = win32com.client.Dispatch('ADODB.Connection')db = 'C:\Profit\profit_a\ARMM'dsn = 'Provider=VFPOLEDB.1;Data Source=%s' % dbconn.Open(dsn)cmd = win32com.client.Dispatch('ADODB.Command')cmd.ActiveConnection = conncmd.CommandText = "Select * from factura, reng_fac where factura.fact_num = reng_fac.fact_num AND factura.fact_num = 6099;"rs, total = cmd.Execute() # This returns a tuple: (<RecordSet>, number_of_records)while total:    for x in xrange(rs.Fields.Count):        print '%s --> %s' % (rs.Fields.item(x).Name, rs.Fields.item(x).Value)    rs.MoveNext()        #<- Extra indent    total = total - 1

它给了我20条记录,这些记录是我用DBFCommander检查过并确定的

首先,您需要安装pywin32扩展(32位)和Visual
FoxPro OLE-DB提供程序(仅适用于32位),在我的情况下适用于VFP 9.0

另外,最好在w3c网站上阅读ADO文档

这对我有用。非常感谢那些回答的人



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/659656.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号