Читання листа Excel у ArcPy-скрипті?


12

Я пишу код python для перетворення X, Y точок у excel у shapefile. У цьому процесі я маю вичитувати точки xy з shhet1. Який крок я повинен включити до свого процесу, щоб прочитати дані з аркуша1 робочої книги Excel (97-2003).
Я написав код наступним чином ..

import arcpy  
from arcpy import env  
import Xlrd  
env.workspace="E:\"  
input_table="123.xls\Sheet1" 

Але це не працює.


Спробуйте r "E: \" або "E: /"
Aaron

я вже спробував.
Сатья Чандра

імпорт xlrd не працює. Помилка наступна, жоден модуль з іменем xlrd.
Сатья Чандра

Я знайшов openpyxl дуже корисним також для читання та обробки маніпуляцій Excel у поєднанні з arcpy.
Сінді Джаякумар

Відповіді:


28

Це не працює, оскільки ви не викликали модулі Xlrd для читання електронної таблиці Excel. Реалізуйте це приблизно так:

import xlrd
workbook = xlrd.open_workbook('my_workbook.xls')
worksheet = workbook.sheet_by_name('Sheet1')

Це дозволить вам прочитати XLS-файл із Python. Однак ArcPy буде читати XLS без Xlrd. Ви можете вважати робочу книгу Excel робочою областю, що містить потенційно багато таблиць (робочих таблиць). Отже, ви можете зробити щось на кшталт:

arcpy.env.workspace = r'E:\123.xls'
input_table = 'Sheet1$'

... або вирізати на погоню за допомогою:

arcpy.MakeXYEventLayer_management(r'E:\123.xls\Sheet1$',lat,long,layername,SpatialRef)

k, дякую тоді, як ми можемо включити sheet1 в процес. Мій крок такий, як слідувати arcpy.MakeXYEventLayer_management (input_table, lat, long, ім'я шару, SpatialRef). Я повинен включити цей аркуш1 у input_table. Як я можу?
Сатья Чандра

Перегляньте мої зміни - ви можете розглядати .xls або xlsx як робочу область.
MappaGnosis

6
+1 за вказівку на те, що електронну таблицю XLS вона насправді вважає WORKSPACE в ArcGIS, а не файлом. "Аркуш" у файлі XLS може вважатися аналогічним "таблиці" в базі даних геоданих.
RyanKDalton

Я вважав, що використання формату xls=r"E:\123.xls\Sheet1$"є досить хитким - іноді він працює, іноді не працює (я спробував його у двох примірниках тієї ж робочої книги - він працював для іншого, сценарій зазнав аварії з "не існує " з іншого).
Сінді Джаякумар

6

Ви не згадуєте свою версію ArcGIS for Desktop, але якщо вона становить 10.2 (або пізнішої версії), ви повинні мати можливість використовувати інструмент Excel To Table , який:

Перетворює файли Microsoft Office Excel у таблицю.

Його синтаксис:

ExcelToTable_conversion (Input_Excel_File, Output_Table, {Sheet})
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.