अधिक

आर्कपी से मर्ज करें। लिस्टटेबल्स () डुप्लिकेट पंक्तियों का निर्माण?

आर्कपी से मर्ज करें। लिस्टटेबल्स () डुप्लिकेट पंक्तियों का निर्माण?


मैं फ़ाइल जियोडेटाबेस तालिकाओं को मैन्युअल रूप से मर्ज करने का प्रयास कर रहा था और आउटपुट फ़ाइल पंक्तियों के लिए शून्य मान प्राप्त कर रहा था और फ़ाइलों को मर्ज करने के लिए एक अजगर स्क्रिप्ट लिखने का निर्णय लिया। यहाँ मेरी स्क्रिप्ट है: आयात आर्कपी

आर्कपी आयात से env.workspace = "G:/US काउंटी_क्लाइमेट हैज़र्ड मॉडल/NWS_काउंटी/SUMCounty_NWS_new_frq.gdb" arcpy.env.overwriteOutput = ट्रू टेबललिस्ट = arcpy.ListTables() arcpy.Merge_management(tableList, "C:/Documents/ArcGIS) /Default.gdb/Merge_sum_freq")

कोड को चलने में कुछ समय लगता है लेकिन त्रुटियों के बिना चलता है। हालाँकि, जब मैं ArcMap को फिर से खोलता हूं और आउटपुट की जांच करता हूं, तो मुझे मेरे द्वारा बनाई गई तालिका में डुप्लिकेट प्रविष्टियां मिलती हैं। यहां बताया गया है कि आउटपुट कैसा दिखता है:

जैसा कि आप देखते हैं कि प्रत्येक प्रविष्टि डुप्लिकेट है। क्या कोई समझा सकता है कि ऐसा क्यों है और मैं इसे कैसे ठीक कर सकता हूं? क्या मेरे कोड लिखने के तरीके में कुछ चल रहा है?

****संपादित करें # 1****** मैंने यह भी जोड़ा:

प्रिंट टेबलसूची

और मुझे मिल गया:

[u'CT_09001', u'CT_09003', u'CT_09005', u'Merge_sum_freq']

(मुझे यकीन नहीं है कि मुझे यह "यू" चीज़ क्यों मिलती है)

**** संपादित करें # 2 ***** मूल प्रश्न अब माइकल माइल्स-स्टिमसन के लिए धन्यवाद हल हो गया है। मैंने गलती से SUMCounty_NWS_new_frq.gdb . के अंदर Merge_sum_freq बना दिया

**** संपादित करें #3 नया प्रश्न ***** मेरे पास एक प्रदर्शन संबंधी प्रश्न है: प्रत्येक जियोडेटाबेस तालिका को मर्ज करने की आवश्यकता है जिसमें 1 पंक्ति और 6 फ़ील्ड (OBJECTID सहित) हैं, जिसे आप मेरे द्वारा पोस्ट किए गए स्क्रीनशॉट पर देख सकते हैं। जब मैं उपरोक्त स्क्रिप्ट को 10 टेबल के लिए चलाता हूं, तो यह 10sec में चलता है। 30 टेबल के लिए - 8 सेकंड, 264 टेबल - ~ 2 मिनट। अंत में मुझे विलय करने की आवश्यकता है> 3000 टेबल (1 पंक्ति वाली प्रत्येक तालिका, इसलिए अंतिम तालिका में> 3000 पंक्तियां होंगी)। यकीन नहीं होता कि मैं इस अधिकार को एक्सट्रपलेशन कर रहा हूं, लेकिन ऐसा लगता है कि वे> 20 मिनट में पूरा हो जाएंगे। क्या इसे अच्छा प्रदर्शन माना जाता है? यदि नहीं, तो क्या कोई तरीका है जिससे मैं कुछ भी अनुकूलित कर सकूं?


ये कोशिश करें:

आर्कपी से आयात आर्कपी आयात एनवी # शुरुआती के लिए यहां दो जाल, अच्छी तरह से देखा गया! env.workspace = "G:/US काउंटी_जलवायु खतरा मॉडल/NWS_County/SUMCounty_NWS_new_frq.gdb" env.overwriteOutput = True outTable = "C:/Documents/ArcGIS/Default.gdb/Merge_sum_freq" # रास्ता साफ करें, बस यह सुनिश्चित करने के लिए कि क्या arcpy.Exists(outTable): कोशिश करें: arcpy.Delete_management(outTable) को छोड़कर: आयात sys arcpy.AddError ("तालिका को हटाने में असमर्थ, लॉक हो सकता है!") sys.exit (-1) # यहां से बाहर निकलें, इनटेबल्स को पूरा करने में असमर्थ = arcpy.ListTables() # तालिकाओं की रिपोर्ट करें, तालिका में Tbl के लिए डुप्लिकेट के लिए यहां देखें: arcpy.AddMessage("Table:" + Tbl) arcpy.Merge_management(inTables,outTable)

अपने संदेशों पर एक नज़र डालें; मैंने AddMessage और AddError का उपयोग किया है क्योंकि मुझे नहीं पता कि आप टूलबॉक्स या कमांड लाइन वातावरण का उपयोग कर रहे हैं, ये रिपोर्टिंग टूल दोनों के साथ काम करते हैं। यदि आप तालिका नामों को एक से अधिक बार देखते हैं, तो सूची तालिका के साथ कोई समस्या है (संभावना नहीं)... सबसे अधिक संभावना है कि स्क्रिप्ट पिछली तालिका को हटाने में असमर्थ थी और इसके बजाय संलग्न हो गई है।


वीडियो देखना: Sunanda Sharma da Anmol Gagan Maan nu reply Suno