আর্কপি স্ক্রিপ্টে এক্সেল শীট পড়া?


12

আমি এক্স, ওয়াই পয়েন্টে রূপান্তর করতে পাইথন কোডটি লিখছি শেফফায়ালে। এই প্রক্রিয়াতে আমার shhet1 থেকে এক্স পয়েন্ট টোড করতে হবে। একটি এক্সেল কাজের বইয়ের শীট 1 (97-2003) থেকে ডেটা পড়তে আমার প্রক্রিয়াটিতে আমার কী পদক্ষেপ অন্তর্ভুক্ত রয়েছে?
আমি নীচে একটি কোড লিখেছি ..

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

কিন্তু এটি কাজ করে না।


R "E: \" বা "E: /"
অ্যারন

হ্যাঁ আমি ইতিমধ্যে চেষ্টা করেছি।
সত্য চন্দ্র

আমদানি xlrd কাজ করছে না। Xlrd নামক কোনও মডিউল অনুসরণ করে ত্রুটি।
সত্য চন্দ্র

আরপির সাথে একত্রে এক্সেল শিটগুলি পড়ার এবং পরিচালনা করার জন্য আমি ওপেনপেক্সএল খুব দরকারী বলে খুঁজে পেয়েছি।
সিন্ডি জয়কুমার

উত্তর:


28

এটি কার্যকর হয় না কারণ আপনি এক্সেল্ড মডিউলগুলি এক্সেল স্প্রেডশিটটি পড়ার জন্য কল করেননি। এটি এরকম কিছু বাস্তবায়ন করুন:

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

এটি আপনাকে পাইথন সহ একটি এক্সএলএস ফাইল পড়ার অনুমতি দেবে। তবে, আরকিপি এক্সএলআরড ছাড়াই এক্সএলএস পড়বে। আপনি এক্সেল ওয়ার্কবুকটিকে এমন একটি কর্মক্ষেত্র হিসাবে বিবেচনা করতে পারেন যাতে সম্ভাব্য অনেকগুলি সারণী (কার্যপত্রক) থাকে। সুতরাং আপনি যেমন কিছু করতে পারে:

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

... বা তা অনুসরণ করে কাটা:

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

কে, ধন্যবাদ তাহলে কীভাবে আমরা শীট 1 প্রক্রিয়াতে অন্তর্ভুক্ত করতে পারি। আমার পদক্ষেপটি আরকিপি অনুসরণ করুন M ম্যাকএক্সইএইচেন্টলিয়ার_ম্যানেজমেন্ট (ইনপুট_সামগ্রী, ল্যাট, লম্বা, লেটারনাম, স্প্যাটিয়ালআরফ)। আমাকে সেই শীট 1 টি ইনপুট_সেবায় অন্তর্ভুক্ত করতে হবে। আমি কীভাবে পারি?
সত্য চন্দ্র

আমার সম্পাদনাগুলি দেখুন - আপনি একটি .xls বা xlsx কে একটি কর্মক্ষেত্র হিসাবে বিবেচনা করতে পারেন।
ম্যাপ্পাগনোসিস

6
এটি উল্লেখ করার জন্য +1 যে কোনও এক্সএলএস স্প্রেডশিট এটি ফাইলের পরিবর্তে আর্কজিআইএস-এ একটি ওয়ার্কস্পেস হিসাবে বিবেচনা করে। কোনও এক্সএলএস ফাইলের মধ্যে একটি "শীট" জিওডাটাবেসগুলির মধ্যে একটি "টেবিলের" ​​সাথে সাদৃশ্য হিসাবে বিবেচিত হতে পারে।
রায়ানকডাল্টন

আমি ফর্ম্যাটটি xls=r"E:\123.xls\Sheet1$"মোটামুটি দুগ্ধ হতে ব্যবহার করে খুঁজে পেয়েছি - কখনও কখনও এটি কাজ করে, কখনও কখনও এটি হয় না (আমি এটি একই ওয়ার্কবুকের দুটি অনুলিপিটিতে চেষ্টা করে দেখেছি - এটি অন্যটির জন্য কাজ করেছে, স্ক্রিপ্টটি ক্র্যাশ করে "বিদ্যমান নেই") " অন্যদিকে).
সিন্ডি জয়কুমার

6

আপনি ডেস্কটপ সংস্করণের জন্য আপনার আরকিজিআইএস উল্লেখ করেন না তবে এটি যদি 10.2 (বা তারপরে) হয় তবে আপনার এক্সেল টু টেবিল সরঞ্জামটি ব্যবহার করতে সক্ষম হওয়া উচিত যা:

মাইক্রোসফ্ট অফিস এক্সেল ফাইলগুলি একটি সারণীতে রূপান্তর করে।

এর বাক্য গঠনটি হ'ল:

ExcelToTable_conversion (Input_Excel_File, Output_Table, {Sheet})
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.