首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python将数据从MS Access复制到MS Excel

问使用Python将数据从MS Access复制到MS Excel
EN

Stack Overflow用户
提问于 2011-10-03 08:23:41
回答 5查看 4.4K关注 0票数 2

我花了大半个周末的时间,试图找出使用Python将数据从MS Access表转移到Excel工作表的最佳方法。我找到了一些可能有帮助的模块(execsql,python-excel),但由于我的知识有限,而且我必须使用这些模块来创建某些数据(我是一名地理信息系统专业人员,所以我正在使用ArcGIS arcpy模块在access表中创建空间数据)。

我不确定最好的方法应该是什么。我需要做的就是将4列数据从access复制到excel中,然后格式化excel。我已经解决了格式化部分。

我应该:

使用游标遍历行并以某种方式将行加载到excel中?是否将列从access复制到excel?是否将整个access表导出到excel中的工作表中?

谢谢你的建议。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-10-04 12:13:02

目前,我使用XLRD模块从Excel电子表格中导入数据,并使用插入光标创建要素类,这非常有效。

您应该能够使用搜索光标遍历要素类记录,然后使用XLWT Python模块(http://www.python-excel.org/)将记录写入Excel。

票数 1
EN

Stack Overflow用户

发布于 2011-10-05 02:37:51

我最终找到了一种方法来做到这一点。我想我应该把我的代码发布给任何可能遇到同样情况的人。我使用一些地理信息系统文件,但如果您不使用,您可以设置一个变量的目录路径,而不是使用env.workspace和使用游标搜索,而不是arcpy.SearchCursor函数,那么这是可行的。

代码语言:javascript
复制
import arcpy, xlwt
from arcpy import env
from xlwt import Workbook

# Set the workspace. Location of feature class or dbf file. I used a dbf file.
env.workspace = "C:\data"

# Use row object to get and set field values
cur = arcpy.SearchCursor("SMU_Areas.dbf")

# Set up workbook and sheet
book = Workbook()
sheet1 = book.add_sheet('Sheet 1')
book.add_sheet('Sheet 2')

# Set counter
rowx = 0

# Loop through rows in dbf file.
for row in cur:
    rowx += 1
    # Write each row to the sheet from the workbook. Set column index in sheet for each column in .dbf
    sheet1.write(rowx,0,row.ID)
    sheet1.write(rowx,1,row.SHAPE_Area/10000)
    book.save('C:\data\MyExcel.xls')

del cur, row
票数 3
EN

Stack Overflow用户

发布于 2011-10-03 08:34:13

您可以使用ADO从Access读取数据(这里是Access 2007+(和.mdb files)的连接字符串),然后使用Excel的Range.CopyFromRecordset方法(假设您通过COM使用Excel )将整个记录集复制到Excel中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7630142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档