描述
将 Microsoft Excel 文件转换为表。
使用方法
Excel 转表支持 Excel 工作簿 (.xlsx) 和 Microsoft Excel 5.0/95 工作簿 (.xls) 格式作为输入。
此工具假设表数据按纵向排序。第一行用作输出表的字段名称。在验证过程中,可能会对这些字段名称重命名,以免出现任何错误或重复名称。数据间的空列将得到保留,并为其指定通用字段名(例如 field_4)。
输出字段数据类型基于输入列范围内找到的值和像元格式。输出字段数据类型包括浮点型、文本和日期。如果输入列包含多个数据类型或格式类型,则输出字段的类型为文本。
语法
arcpy.conversion.ExcelToTable(Input_Excel_File, Output_Table, {Sheet})
参数 | 说明 | 数据类型 |
Input_Excel_File | 要转换的 Microsoft Excel 文件。 | File |
Output_Table | 输出表。 | Table |
Sheet (可选) | 要导入的 Excel 文件中特定工作表的名称。如果未指定,则使用工作簿中的第一个工作表。 | String |
代码示例
Excel 转表 (ExcelToTable) 示例(Python 窗口)
以下 Python 窗口脚本演示了如何在即时模式下使用 Excel 转表 (ExcelToTable) 函数。
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.ExcelToTable_conversion("data.xls", "outgdb.gdb", "Sheet1")
Excel 转表 (ExcelToTable) 示例 2(独立脚本)
将 Microsoft Excel 文件的各个工作表导入地理数据库的各个表中。
import os
import xlrd
import arcpy
def importallsheets(in_excel, out_gdb):
workbook = xlrd.open_workbook(in_excel)
sheets = [sheet.name for sheet in workbook.sheets()]
print('{} sheets found: {}'.format(len(sheets), ','.join(sheets)))
for sheet in sheets:
# The out_table is based on the input excel file name
# a underscore (_) separator followed by the sheet name
out_table = os.path.join(
out_gdb,
arcpy.ValidateTableName(
"{0}_{1}".format(os.path.basename(in_excel), sheet),
out_gdb))
print('Converting {} to {}'.format(sheet, out_table))
# Perform the conversion
arcpy.ExcelToTable_conversion(in_excel, out_table, sheet)
if __name__ == '__main__':
importallsheets('c:/data/data.xls',
'c:/data/outgdb.gdb')
环境
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是