<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Get Assettype and asettgroup count from the Feature class in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/get-assettype-and-asettgroup-count-from-the/m-p/1288925#M67636</link>
    <description>&lt;P&gt;Can you explain in more detail what you're trying to achieve?&amp;nbsp; The code looks very verbose and seems to have 6 levels of iteration at one point.&lt;/P&gt;</description>
    <pubDate>Sun, 14 May 2023 10:06:12 GMT</pubDate>
    <dc:creator>DavidPike</dc:creator>
    <dc:date>2023-05-14T10:06:12Z</dc:date>
    <item>
      <title>Get Assettype and asettgroup count from the Feature class</title>
      <link>https://community.esri.com/t5/python-questions/get-assettype-and-asettgroup-count-from-the/m-p/1288920#M67635</link>
      <description>&lt;P&gt;In trying to get all the assettype and aasetgroup field values based on assetgroup field which are domain coded from the gdb but the script is not working for some of the gdb's and for some of the gdb's i'm not getting all the Feature Classes which are inside Feature Dataset&lt;/P&gt;&lt;P&gt;Any suggestions or help pleease,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;PRE&gt;&lt;SPAN&gt;import &lt;/SPAN&gt;arcpy&lt;SPAN&gt;,&lt;/SPAN&gt;openpyxl&lt;SPAN&gt;,&lt;/SPAN&gt;os&lt;BR /&gt;&lt;SPAN&gt;from &lt;/SPAN&gt;openpyxl &lt;SPAN&gt;import &lt;/SPAN&gt;Workbook&lt;BR /&gt;wb = Workbook()&lt;BR /&gt;ws = wb.active&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;outputfile = &lt;SPAN&gt;"output8.xlsx"&lt;BR /&gt;&lt;/SPAN&gt;arcpy.env.overwriteOutput =&lt;SPAN&gt;True&lt;BR /&gt;&lt;/SPAN&gt;ws.cell(&lt;SPAN&gt;row&lt;/SPAN&gt;=&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;column &lt;/SPAN&gt;=&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;value &lt;/SPAN&gt;= &lt;SPAN&gt;"Feature Dataset"&lt;/SPAN&gt;)&lt;BR /&gt;ws.cell(&lt;SPAN&gt;row&lt;/SPAN&gt;=&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;column&lt;/SPAN&gt;=&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;value&lt;/SPAN&gt;=&lt;SPAN&gt;"Feature Class"&lt;/SPAN&gt;)&lt;BR /&gt;ws.cell(&lt;SPAN&gt;row&lt;/SPAN&gt;=&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;column&lt;/SPAN&gt;=&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;value&lt;/SPAN&gt;=&lt;SPAN&gt;"Feature Count"&lt;/SPAN&gt;)&lt;BR /&gt;ws.cell(&lt;SPAN&gt;row&lt;/SPAN&gt;=&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;column&lt;/SPAN&gt;=&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;value&lt;/SPAN&gt;=&lt;SPAN&gt;"Asset Group"&lt;/SPAN&gt;)&lt;BR /&gt;ws.cell(&lt;SPAN&gt;row&lt;/SPAN&gt;=&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;column&lt;/SPAN&gt;=&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;value&lt;/SPAN&gt;=&lt;SPAN&gt;"Asset Group Count"&lt;/SPAN&gt;)&lt;BR /&gt;ws.cell(&lt;SPAN&gt;row&lt;/SPAN&gt;=&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;column&lt;/SPAN&gt;=&lt;SPAN&gt;6&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;value&lt;/SPAN&gt;=&lt;SPAN&gt;"Asset Type"&lt;/SPAN&gt;)&lt;BR /&gt;ws.cell(&lt;SPAN&gt;row&lt;/SPAN&gt;=&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;column&lt;/SPAN&gt;=&lt;SPAN&gt;7&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;value&lt;/SPAN&gt;=&lt;SPAN&gt;" Asset Type Count"&lt;/SPAN&gt;)&lt;BR /&gt;row_num = &lt;SPAN&gt;2&lt;BR /&gt;&lt;/SPAN&gt;gdb = &lt;SPAN&gt;r'path\to\gdb'&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;arcpy.env.workspace = gdb&lt;BR /&gt;fds = arcpy.ListDatasets(&lt;SPAN&gt;"*"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"Feature"&lt;/SPAN&gt;)&lt;BR /&gt;&lt;SPAN&gt;for &lt;/SPAN&gt;fd &lt;SPAN&gt;in &lt;/SPAN&gt;fds:&lt;BR /&gt;    feature_classes = []&lt;BR /&gt;    arcpy.env.workspace = gdb + &lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;\\&lt;/SPAN&gt;&lt;SPAN&gt;' &lt;/SPAN&gt;+ fd&lt;BR /&gt;    &lt;SPAN&gt;for &lt;/SPAN&gt;fc &lt;SPAN&gt;in &lt;/SPAN&gt;arcpy.ListFeatureClasses(&lt;SPAN&gt;""&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;"ALL"&lt;/SPAN&gt;):&lt;BR /&gt;        feature_classes.append(fc)&lt;BR /&gt;    &lt;SPAN&gt;#arcpy.env.workspace = gdb&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;for &lt;/SPAN&gt;feature_class &lt;SPAN&gt;in &lt;/SPAN&gt;feature_classes:&lt;BR /&gt;        counts = arcpy.GetCount_management(feature_class).getOutput(&lt;SPAN&gt;0&lt;/SPAN&gt;)&lt;BR /&gt;        ws.cell(&lt;SPAN&gt;row&lt;/SPAN&gt;=row_num&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;column&lt;/SPAN&gt;=&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;value&lt;/SPAN&gt;=fd)&lt;BR /&gt;        ws.cell(&lt;SPAN&gt;row&lt;/SPAN&gt;=row_num&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;column&lt;/SPAN&gt;=&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;value&lt;/SPAN&gt;=feature_class)&lt;BR /&gt;        ws.cell(&lt;SPAN&gt;row&lt;/SPAN&gt;=row_num&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;column&lt;/SPAN&gt;=&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;value&lt;/SPAN&gt;=counts)&lt;BR /&gt;        &lt;SPAN&gt;# row_num+=1&lt;BR /&gt;&lt;/SPAN&gt;        all_codedvalue = {}&lt;BR /&gt;        all_assetgrp = {}&lt;BR /&gt;        field_name = [&lt;SPAN&gt;"ASSETGROUP"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"ASSETTYPE"&lt;/SPAN&gt;]&lt;BR /&gt;        Fields = arcpy.ListFields(feature_class)&lt;BR /&gt;        subdict = arcpy.da.ListSubtypes(feature_class)&lt;BR /&gt;        searchfield = &lt;SPAN&gt;False&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;        if &lt;/SPAN&gt;&lt;SPAN&gt;len&lt;/SPAN&gt;(subdict) &amp;gt; &lt;SPAN&gt;1&lt;/SPAN&gt;:&lt;BR /&gt;            &lt;SPAN&gt;for &lt;/SPAN&gt;stcode &lt;SPAN&gt;in &lt;/SPAN&gt;subdict:&lt;BR /&gt;                &lt;SPAN&gt;if &lt;/SPAN&gt;subdict[stcode][&lt;SPAN&gt;'SubtypeField'&lt;/SPAN&gt;] != &lt;SPAN&gt;""&lt;/SPAN&gt;:&lt;BR /&gt;                    all_assetgrp[stcode] = subdict[stcode][&lt;SPAN&gt;'Name'&lt;/SPAN&gt;]&lt;BR /&gt;                    &lt;SPAN&gt;for &lt;/SPAN&gt;i &lt;SPAN&gt;in &lt;/SPAN&gt;Fields:&lt;BR /&gt;                        &lt;SPAN&gt;if &lt;/SPAN&gt;i.name == &lt;SPAN&gt;'ASSETGROUP'&lt;/SPAN&gt;:&lt;BR /&gt;                            subtypename = {}&lt;BR /&gt;                            subtypename[stcode] = subdict[stcode][&lt;SPAN&gt;'Name'&lt;/SPAN&gt;]&lt;BR /&gt;                            codedvalue = {}&lt;BR /&gt;                            &lt;SPAN&gt;if &lt;/SPAN&gt;subdict[stcode][&lt;SPAN&gt;'FieldValues'&lt;/SPAN&gt;][&lt;SPAN&gt;'ASSETTYPE'&lt;/SPAN&gt;][&lt;SPAN&gt;1&lt;/SPAN&gt;] != &lt;SPAN&gt;None&lt;/SPAN&gt;:&lt;BR /&gt;                                &lt;SPAN&gt;for &lt;/SPAN&gt;c &lt;SPAN&gt;in &lt;/SPAN&gt;subdict[stcode][&lt;SPAN&gt;'FieldValues'&lt;/SPAN&gt;][&lt;SPAN&gt;'ASSETTYPE'&lt;/SPAN&gt;][&lt;SPAN&gt;1&lt;/SPAN&gt;].codedValues:&lt;BR /&gt;                                    codedvalue[c] = subdict[stcode][&lt;SPAN&gt;'FieldValues'&lt;/SPAN&gt;][&lt;SPAN&gt;'ASSETTYPE'&lt;/SPAN&gt;][&lt;SPAN&gt;1&lt;/SPAN&gt;].codedValues[c]&lt;BR /&gt;                            FieldsNames = []&lt;BR /&gt;                            &lt;SPAN&gt;for &lt;/SPAN&gt;fields &lt;SPAN&gt;in &lt;/SPAN&gt;Fields:&lt;BR /&gt;                                FieldsNames.append(fields.name)&lt;BR /&gt;                            &lt;SPAN&gt;for &lt;/SPAN&gt;field_n &lt;SPAN&gt;in &lt;/SPAN&gt;field_name:&lt;BR /&gt;                                &lt;SPAN&gt;if &lt;/SPAN&gt;field_n &lt;SPAN&gt;in &lt;/SPAN&gt;FieldsNames:&lt;BR /&gt;                                    searchfield = &lt;SPAN&gt;True&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                                else&lt;/SPAN&gt;:&lt;BR /&gt;                                    searchfield = &lt;SPAN&gt;False&lt;BR /&gt;&lt;/SPAN&gt;                            assetgroup = {}&lt;BR /&gt;                            assettype = {}&lt;BR /&gt;                            &lt;SPAN&gt;if &lt;/SPAN&gt;searchfield == &lt;SPAN&gt;True&lt;/SPAN&gt;:&lt;BR /&gt;                                &lt;SPAN&gt;for &lt;/SPAN&gt;key &lt;SPAN&gt;in &lt;/SPAN&gt;subtypename:&lt;BR /&gt;                                    whee_clase = &lt;SPAN&gt;"ASSETGROUP = " &lt;/SPAN&gt;+ &lt;SPAN&gt;str&lt;/SPAN&gt;(key)&lt;BR /&gt;                                    &lt;SPAN&gt;with &lt;/SPAN&gt;arcpy.da.SearchCursor(feature_class&lt;SPAN&gt;,&lt;/SPAN&gt;field_name&lt;SPAN&gt;,&lt;/SPAN&gt;whee_clase) &lt;SPAN&gt;as &lt;/SPAN&gt;cursor:&lt;BR /&gt;                                        &lt;SPAN&gt;for &lt;/SPAN&gt;row &lt;SPAN&gt;in &lt;/SPAN&gt;cursor:&lt;BR /&gt;                                            &lt;SPAN&gt;if &lt;/SPAN&gt;subtypename[row[&lt;SPAN&gt;0&lt;/SPAN&gt;]] &lt;SPAN&gt;in &lt;/SPAN&gt;assetgroup:&lt;BR /&gt;                                                assetgroup[subtypename[row[&lt;SPAN&gt;0&lt;/SPAN&gt;]]] +=&lt;SPAN&gt;1&lt;BR /&gt;&lt;/SPAN&gt;                                            &lt;SPAN&gt;else&lt;/SPAN&gt;:&lt;BR /&gt;                                                assetgroup[subtypename[row[&lt;SPAN&gt;0&lt;/SPAN&gt;]]] = &lt;SPAN&gt;1&lt;BR /&gt;&lt;/SPAN&gt;                                            &lt;SPAN&gt;if &lt;/SPAN&gt;codedvalue[row[&lt;SPAN&gt;1&lt;/SPAN&gt;]] &lt;SPAN&gt;in &lt;/SPAN&gt;assettype:&lt;BR /&gt;                                                assettype[codedvalue[row[&lt;SPAN&gt;1&lt;/SPAN&gt;]]] += &lt;SPAN&gt;1&lt;BR /&gt;&lt;/SPAN&gt;                                            &lt;SPAN&gt;else&lt;/SPAN&gt;:&lt;BR /&gt;                                                assettype[codedvalue[row[&lt;SPAN&gt;1&lt;/SPAN&gt;]]] = &lt;SPAN&gt;1&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;for &lt;/SPAN&gt;group&lt;SPAN&gt;, &lt;/SPAN&gt;type_counts &lt;SPAN&gt;in &lt;/SPAN&gt;assetgroup.items():&lt;BR /&gt;                                ws.cell(&lt;SPAN&gt;row&lt;/SPAN&gt;=row_num&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;column&lt;/SPAN&gt;=&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;value&lt;/SPAN&gt;=group)&lt;BR /&gt;                                ws.cell(&lt;SPAN&gt;row&lt;/SPAN&gt;=row_num&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;column&lt;/SPAN&gt;=&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;value&lt;/SPAN&gt;=type_counts)&lt;BR /&gt;                                &lt;SPAN&gt;for &lt;/SPAN&gt;asset&lt;SPAN&gt;, &lt;/SPAN&gt;count &lt;SPAN&gt;in &lt;/SPAN&gt;assettype.items():&lt;BR /&gt;                                    ws.cell(&lt;SPAN&gt;row&lt;/SPAN&gt;=row_num &lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;column&lt;/SPAN&gt;=&lt;SPAN&gt;6&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;value&lt;/SPAN&gt;=asset)&lt;BR /&gt;                                    ws.cell(&lt;SPAN&gt;row&lt;/SPAN&gt;=row_num &lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;column&lt;/SPAN&gt;=&lt;SPAN&gt;7&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;value&lt;/SPAN&gt;=count)&lt;BR /&gt;                                    row_num+=&lt;SPAN&gt;1&lt;BR /&gt;&lt;/SPAN&gt;        &lt;SPAN&gt;else&lt;/SPAN&gt;:&lt;BR /&gt;            row_num += &lt;SPAN&gt;1&lt;BR /&gt;&lt;/SPAN&gt;arcpy.env.workspace = gdb&lt;BR /&gt;outside_dataset = []&lt;BR /&gt;&lt;SPAN&gt;for &lt;/SPAN&gt;item &lt;SPAN&gt;in &lt;/SPAN&gt;arcpy.ListFeatureClasses(&lt;SPAN&gt;""&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;"ALL"&lt;/SPAN&gt;):    outside_dataset.append(item)&lt;BR /&gt;&lt;SPAN&gt;for &lt;/SPAN&gt;item &lt;SPAN&gt;in &lt;/SPAN&gt;arcpy.ListTables(&lt;SPAN&gt;"*"&lt;/SPAN&gt;):    outside_dataset.append(item)&lt;BR /&gt;&lt;SPAN&gt;for &lt;/SPAN&gt;feature &lt;SPAN&gt;in &lt;/SPAN&gt;outside_dataset:&lt;BR /&gt;    count_ = arcpy.GetCount_management(feature).getOutput(&lt;SPAN&gt;0&lt;/SPAN&gt;)&lt;BR /&gt;    ws.cell(&lt;SPAN&gt;row&lt;/SPAN&gt;=row_num+&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;column&lt;/SPAN&gt;=&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;value&lt;/SPAN&gt;=feature)&lt;BR /&gt;    ws.cell(&lt;SPAN&gt;row&lt;/SPAN&gt;=row_num+&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;column&lt;/SPAN&gt;=&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;value&lt;/SPAN&gt;=count_)&lt;BR /&gt;    row_num+=&lt;SPAN&gt;1&lt;BR /&gt;&lt;/SPAN&gt;wb.save(outputfile)&lt;/PRE&gt;&lt;/DIV&gt;</description>
      <pubDate>Sun, 14 May 2023 01:52:57 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/get-assettype-and-asettgroup-count-from-the/m-p/1288920#M67635</guid>
      <dc:creator>kumarprince8071</dc:creator>
      <dc:date>2023-05-14T01:52:57Z</dc:date>
    </item>
    <item>
      <title>Re: Get Assettype and asettgroup count from the Feature class</title>
      <link>https://community.esri.com/t5/python-questions/get-assettype-and-asettgroup-count-from-the/m-p/1288925#M67636</link>
      <description>&lt;P&gt;Can you explain in more detail what you're trying to achieve?&amp;nbsp; The code looks very verbose and seems to have 6 levels of iteration at one point.&lt;/P&gt;</description>
      <pubDate>Sun, 14 May 2023 10:06:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/get-assettype-and-asettgroup-count-from-the/m-p/1288925#M67636</guid>
      <dc:creator>DavidPike</dc:creator>
      <dc:date>2023-05-14T10:06:12Z</dc:date>
    </item>
    <item>
      <title>Re: Get Assettype and asettgroup count from the Feature class</title>
      <link>https://community.esri.com/t5/python-questions/get-assettype-and-asettgroup-count-from-the/m-p/1288926#M67637</link>
      <description>&lt;P&gt;By using this code i am trying to get the Asset type field values based on asset group from the gdb and exporting that unique values of Asset type and Asset group in the excel .But while doing that i'm not able to get all the feature class inside a feature dataset.&lt;/P&gt;</description>
      <pubDate>Sun, 14 May 2023 10:10:16 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/get-assettype-and-asettgroup-count-from-the/m-p/1288926#M67637</guid>
      <dc:creator>kumarprince8071</dc:creator>
      <dc:date>2023-05-14T10:10:16Z</dc:date>
    </item>
  </channel>
</rss>

