ArcPy komut dosyasında Excel sayfasını mı okuyorsunuz?


12

Shapefile excel X, Y noktalarını dönüştürmek için bir python kodu yazıyorum. Bu süreçte shhet1'den xy puanları okumalıyım. Bir excel çalışma kitabının (97-2003) çalışma sayfasındaki verileri okumak için işlemime dahil etmem gereken adım nedir?
Aşağıdaki gibi bir kod yazdım ..

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

Ama işe yaramıyor.


R "E: \" veya "E: /" deneyin
Aaron

zaten denedim.
Satya Chandra

import xlrd çalışmıyor. Aşağıdaki hata xlrd adında bir modül içermez.
Satya Chandra

Bulduğum openpyxl arcpy ile birlikte Excel tabloları okuma ve işlenmesi için de çok yararlı olduğu.
Cindy Jayakumar

Yanıtlar:


28

Çalışmıyor çünkü Excel elektronik tablosunu okumak için Xlrd modüllerini çağırmadınız. Bunun gibi bir şey uygulayın:

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

Bu, Python ile bir XLS dosyasını okumanıza izin verecektir. Ancak ArcPy, XLs'i Xlrd olmadan okuyacaktır. Excel çalışma kitabını potansiyel olarak çok sayıda tablo (çalışma sayfası) içeren bir çalışma alanı olarak düşünebilirsiniz. Böylece şöyle bir şey yapabilirsiniz:

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

... ya da kovalamaca ile:

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

k, teşekkürler o zaman nasıl sheet1 sürecine dahil edebilirsiniz. Adımım aşağıdaki gibidir: arcpy.MakeXYEventLayer_management (input_table, lat, long, layername, SpatialRef). Ben input_table içine sheet1 dahil etmek zorunda. Nasıl yapabilirim?
Satya Chandra

Düzenlemelerimi görün - bir .xls veya xlsx dosyasını çalışma alanı olarak değerlendirebilirsiniz.
MappaGnosis

6
Bir XLS e-tablosunun aslında bir dosya yerine ArcGIS'te bir ÇALIŞMA ALANI olduğunu düşündüğü için +1. Bir XLS dosyasındaki bir "sayfa", bir coğrafi veri tabanındaki bir "tablo" ile aynı kabul edilebilir.
RyanKDalton

xls=r"E:\123.xls\Sheet1$"Oldukça tehlikeli olmak için biçimi kullanarak buldum - bazen işe yarıyor, bazen çalışmıyor (aynı çalışma kitabının iki kopyasında denedim - diğeri için çalıştı, komut dosyası çöktü "yok " diğer taraftan, başka bir açıdan).
Cindy Jayakumar

6

Masaüstü için ArcGIS sürümünüzden bahsetmezsiniz, ancak 10.2 (veya üstü) ise, Excel To Table aracını kullanabilmeniz gerekir :

Microsoft Office Excel dosyalarını bir tabloya dönüştürür.

Sözdizimi:

ExcelToTable_conversion (Input_Excel_File, Output_Table, {Sheet})
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.