Python 使用Wing IDE将数据从dbf导入excel电子表格

Python 使用Wing IDE将数据从dbf导入excel电子表格,python,excel,dbf,wing-ide,Python,Excel,Dbf,Wing Ide,我正在尝试将一列数据(平均值)从dbf文件移动到excel电子表格。到目前为止,我一直在用Wing IDE尝试这一点,但没有成功。我不是一名编程学生,这是一项短期任务。我被卡住了,必须从特定的网络驱动器中检索文件,并将数据复制到本地excel工作表中。帮助会很好。谢谢据我所知,您可以将ADODB与Python结合使用。您可以对连接运行查询,以从DBF插入Excel文件 这在VBA中工作,希望您可以翻译 strCon = "Provider=Microsoft.ACE.OLEDB.12.0;" _

我正在尝试将一列数据(平均值)从dbf文件移动到excel电子表格。到目前为止,我一直在用Wing IDE尝试这一点,但没有成功。我不是一名编程学生,这是一项短期任务。我被卡住了,必须从特定的网络驱动器中检索文件,并将数据复制到本地excel工作表中。帮助会很好。谢谢

据我所知,您可以将ADODB与Python结合使用。您可以对连接运行查询,以从DBF插入Excel文件

这在VBA中工作,希望您可以翻译

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;" _
  & "Data Source=z:\docs\myexcel.xlsm;Extended Properties=""Excel 8.0;HDR=No"";"

Set cn = CreateObject("ADODB.Connection")
cn.Open strCon

strsql = "SELECT * INTO [mynewsheet] " _
  & "FROM [dBASE III;DATABASE=z:\docs\].[mydbf.dbf] "
  cn.Execute strsql
你需要这些工具,我也推荐我自己的


希望这能让您了解如何处理您的用例。如果您有任何问题,请告诉我。

Ya。数据库。文件的结尾是dbf。到目前为止,我的代码是:

import os,os.path,arcgisscripting
从dbfpy导入dbf
filepath=os.path.join(os.path.dirname(“E:/Yinsuo/MODIS/EVI.NDVI.STATS/”)
outfile=os.path.join(os.path.dirname(“E:/Syed Workspace/Yinsuo.xlsx”))用于os.listdir(filepath):
if IntFiles.find(“EVI.dbf”)!=-1:
db=dbf.dbf(filepath+“/”+IntFiles)
打印数据库
您知道,您只需选择文件->打开并选择*.dbf作为文件类型,即可在Excel中简单地打开数据库文件?无需导入或任何操作。我需要从数百个不同的dbf文件中获取数据,并将其编译到一个Excel工作表中。每次执行一个将花费很长时间。我在使用字段时遇到问题dbf文件中的名称,以代替
某些计数
。dbf文件来自ArcGIS,ArcGIS中显示的每个字段名都被拒绝为
FieldMissingError:“FID:表中没有此类字段”
。在这种情况下,FID是我的文件中每一行的ID。@CF84:字段名只能以小写形式访问(因此,
fid
而不是
fid
。与上述错误相同。读入dbf文件后,如何查看字段?@CF84:
print
表格,或
dbf.field\u名称(东西)
其中
是一个表或一条记录。@CF84:这不太容易。如果你问一个新问题,我很乐意回答。很难在注释中添加代码。
import dbf
import xlwt

dbf_files = ('file1.dbf','file2.dbf','file3.dbf')

output_xls = xlwt.Workbook()
sheet = output_xls.add_sheet('sheet_name')

for i, filename in enumerate(dbf_files):
    total = 0
    with dbf.Table(filename) as table:
        for record in table:
            total += record.some_count   # some_count being a field name in the dbf files
    sheet.write(i, 0, filename)
    sheet.write(i, 1, total)

output_xls.save('final.xls')