<?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: Split attribute into multiple rows using python in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/split-attribute-into-multiple-rows-using-python/m-p/756865#M58392</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The suggestion with field calculator seems to good after all, but I swapped to python and I am trying to do it with a global variable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The output is supposed to look like this:&lt;/P&gt;&lt;P&gt;input: (3: 79, 279, 4729)&lt;/P&gt;&lt;P&gt;output_row1: 79&lt;/P&gt;&lt;P&gt;output_row2: 279&lt;/P&gt;&lt;P&gt;output_row3: 4729&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is what the table looks like. The OrygFID is the FID of polyline before I copied it. So if two rows have the same OrygFID it means that these are two polylines one on top of another.&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="400196" alt="" class="image-1 jive-image j-img-original" src="https://community.esri.com/legacyfs/online/400196_Table.png" style="width: 620px; height: 87px;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="comment token"&gt;#Incremental counter, this should raise by one every time a row with same OrygFID is processed&lt;/SPAN&gt;
count &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#This is the OrygFID of the previous row&lt;/SPAN&gt;
globfid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;""&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;def&lt;/SPAN&gt; function &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;numer&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; OrygFID&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;global&lt;/SPAN&gt; count
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;global&lt;/SPAN&gt; globfid

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#This gets rid of the parantheses and colons and splits codes into a list&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; codes &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; numer&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;3&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; codes_split &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; codes&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;split&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;","&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#This part should return the appropriate road code using index from count variable&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; orygFID &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; globfid&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count &lt;SPAN class="operator token"&gt;+=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; codes_split&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;count&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; globfid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; orygFID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; codes_split&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;count&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is what I have for now. I know I am close, but I just can't wrap my head around the loop with global variable. My result is:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;input row 1: (2: 79, 279)&lt;/P&gt;&lt;P&gt;input row 2: (2: 79, 279)&lt;/P&gt;&lt;P&gt;output row 1: 79&lt;/P&gt;&lt;P&gt;output row 2: 79&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 12 Dec 2021 08:06:02 GMT</pubDate>
    <dc:creator>PrzemyslawPowroznik</dc:creator>
    <dc:date>2021-12-12T08:06:02Z</dc:date>
    <item>
      <title>Split attribute into multiple rows using python</title>
      <link>https://community.esri.com/t5/python-questions/split-attribute-into-multiple-rows-using-python/m-p/756859#M58386</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a road network polyline shapefile with a text attribute called CODE that looks like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(3: 79, 279, 4729)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This means that this particular polyline is a part of road 79, 279 and 4729. So the number before the colon says how many roads share this segment, and after that there are road codes separated by a comma. I need these roads dissolved into separate overlapping lines, one for each road code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So far I have copied the roads so that I have N copies of every polyline with code (N:...). I have also copied their previous FID into another column (FID_copy), so I have an attribute that identifies every set of overlapping road segments. And now I have to split the code attribute so that every copy I've made has only one road code (order doesn't matter).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So from one polyline with attribute (N: x, y, z) I need N polylines each with one single attribute x, y and z.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My idea is to loop over FID_copy to get a selection of duplicated rows in table. Then do a second (nested) loop for every selected row. I would store the code attribute in a list, and use the UpdateCursor to write the values from the code_list into the attribute field. I would also need another attribute that increases by 1 every nested loop, so it works as an index for the code_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Would something like this work?I am just starting to learn programming, I have very little experience yet (just esri VC courses and codeacademy) and this problem kind of leaves me clueless. My biggest issue right now is the first loop.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Mar 2018 18:03:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/split-attribute-into-multiple-rows-using-python/m-p/756859#M58386</guid>
      <dc:creator>PrzemyslawPowroznik</dc:creator>
      <dc:date>2018-03-29T18:03:07Z</dc:date>
    </item>
    <item>
      <title>Re: Split attribute into multiple rows using python</title>
      <link>https://community.esri.com/t5/python-questions/split-attribute-into-multiple-rows-using-python/m-p/756860#M58387</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Is this something your going to do over and over and over?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If not just simply do it using field calculator and the instr function and some creative mid()&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Mar 2018 18:56:37 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/split-attribute-into-multiple-rows-using-python/m-p/756860#M58387</guid>
      <dc:creator>RobertBorchert</dc:creator>
      <dc:date>2018-03-29T18:56:37Z</dc:date>
    </item>
    <item>
      <title>Re: Split attribute into multiple rows using python</title>
      <link>https://community.esri.com/t5/python-questions/split-attribute-into-multiple-rows-using-python/m-p/756861#M58388</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I will be doing it once again, for a larger dataset. Right now I am just trying to come up with a method to do that and I am experimenting on a fragment of said larger dataset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't think it can be done with a field calculator. My field calculator script would have to somehow store the road code that has already been assigned to another polyline. As I understand it the script is called anew for every row in table - which means I can't store anything from previous row calculation, right?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Mar 2018 19:18:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/split-attribute-into-multiple-rows-using-python/m-p/756861#M58388</guid>
      <dc:creator>PrzemyslawPowroznik</dc:creator>
      <dc:date>2018-03-29T19:18:30Z</dc:date>
    </item>
    <item>
      <title>Re: Split attribute into multiple rows using python</title>
      <link>https://community.esri.com/t5/python-questions/split-attribute-into-multiple-rows-using-python/m-p/756862#M58389</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Lets look at this a different way .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you have&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(3: 79, 279, 4729)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What do you want too look like when it is all done?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Mar 2018 19:25:47 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/split-attribute-into-multiple-rows-using-python/m-p/756862#M58389</guid>
      <dc:creator>RobertBorchert</dc:creator>
      <dc:date>2018-03-29T19:25:47Z</dc:date>
    </item>
    <item>
      <title>Re: Split attribute into multiple rows using python</title>
      <link>https://community.esri.com/t5/python-questions/split-attribute-into-multiple-rows-using-python/m-p/756863#M58390</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;val &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'(3: 79, 279, 4729)'&lt;/SPAN&gt;
vals1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; val&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;split&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;':'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

vals2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; vals1&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;split&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;','&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; v &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; vals2&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; v
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#perhaps setup an InsertCursor to copy the SHAPE, insert the line feature and set the desired attribute to v‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Not a solution, and not very elegant, but just one way to break out the three attribute values you will need.&amp;nbsp; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 08:05:57 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/split-attribute-into-multiple-rows-using-python/m-p/756863#M58390</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2021-12-12T08:05:57Z</dc:date>
    </item>
    <item>
      <title>Re: Split attribute into multiple rows using python</title>
      <link>https://community.esri.com/t5/python-questions/split-attribute-into-multiple-rows-using-python/m-p/756864#M58391</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Very unrefined, but likely somewhat close to what you want it to do:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; arcpy

targetFC &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;'C:\Users\j\Documents\ArcGIS\Default.gdb\MyFeatures2'&lt;/SPAN&gt;
sourceFC &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;'C:\Users\j\Documents\ArcGIS\Default.gdb\MyFeatures'&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;with&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;da&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;SearchCursor&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;sourceFC&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'SHAPE@'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'Values1'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; scur&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; srow &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; scur&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vals1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; srow&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;split&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;':'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vals2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; vals1&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;split&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;','&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; value &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; vals2&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; value
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;with&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;da&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;InsertCursor&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;targetFC&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'SHAPE@'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'Values1'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; icur&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; icur&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;insertRow&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;srow&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; value&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;del&lt;/SPAN&gt; icur&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 08:06:00 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/split-attribute-into-multiple-rows-using-python/m-p/756864#M58391</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2021-12-12T08:06:00Z</dc:date>
    </item>
    <item>
      <title>Re: Split attribute into multiple rows using python</title>
      <link>https://community.esri.com/t5/python-questions/split-attribute-into-multiple-rows-using-python/m-p/756865#M58392</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The suggestion with field calculator seems to good after all, but I swapped to python and I am trying to do it with a global variable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The output is supposed to look like this:&lt;/P&gt;&lt;P&gt;input: (3: 79, 279, 4729)&lt;/P&gt;&lt;P&gt;output_row1: 79&lt;/P&gt;&lt;P&gt;output_row2: 279&lt;/P&gt;&lt;P&gt;output_row3: 4729&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is what the table looks like. The OrygFID is the FID of polyline before I copied it. So if two rows have the same OrygFID it means that these are two polylines one on top of another.&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="400196" alt="" class="image-1 jive-image j-img-original" src="https://community.esri.com/legacyfs/online/400196_Table.png" style="width: 620px; height: 87px;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="comment token"&gt;#Incremental counter, this should raise by one every time a row with same OrygFID is processed&lt;/SPAN&gt;
count &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#This is the OrygFID of the previous row&lt;/SPAN&gt;
globfid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;""&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;def&lt;/SPAN&gt; function &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;numer&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; OrygFID&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;global&lt;/SPAN&gt; count
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;global&lt;/SPAN&gt; globfid

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#This gets rid of the parantheses and colons and splits codes into a list&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; codes &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; numer&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;3&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; codes_split &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; codes&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;split&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;","&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#This part should return the appropriate road code using index from count variable&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; orygFID &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; globfid&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count &lt;SPAN class="operator token"&gt;+=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; codes_split&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;count&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; globfid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; orygFID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; codes_split&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;count&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is what I have for now. I know I am close, but I just can't wrap my head around the loop with global variable. My result is:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;input row 1: (2: 79, 279)&lt;/P&gt;&lt;P&gt;input row 2: (2: 79, 279)&lt;/P&gt;&lt;P&gt;output row 1: 79&lt;/P&gt;&lt;P&gt;output row 2: 79&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 08:06:02 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/split-attribute-into-multiple-rows-using-python/m-p/756865#M58392</guid>
      <dc:creator>PrzemyslawPowroznik</dc:creator>
      <dc:date>2021-12-12T08:06:02Z</dc:date>
    </item>
    <item>
      <title>Re: Split attribute into multiple rows using python</title>
      <link>https://community.esri.com/t5/python-questions/split-attribute-into-multiple-rows-using-python/m-p/756866#M58393</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I DID IT!! Turns out the issue was that field calculator always goes by the FID in the table. My previous script was dependant on the sorting on other column. It seems I've solved the problem using a dictionary. Thanks for help guys!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;dict &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;def&lt;/SPAN&gt; function &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;numer&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; fid&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
 &lt;SPAN class="keyword token"&gt;global&lt;/SPAN&gt; dict

 codes &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; numer&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;3&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 codes_s &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; codes&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;split&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;","&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

 &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; fid &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; dict&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp; dict&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;fid&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;
&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; codes_s&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;dict&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;fid&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp; dict&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;fid&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;
&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; codes_s&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;dict&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;fid&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 08:06:06 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/split-attribute-into-multiple-rows-using-python/m-p/756866#M58393</guid>
      <dc:creator>PrzemyslawPowroznik</dc:creator>
      <dc:date>2021-12-12T08:06:06Z</dc:date>
    </item>
    <item>
      <title>Re: Split attribute into multiple rows using python</title>
      <link>https://community.esri.com/t5/python-questions/split-attribute-into-multiple-rows-using-python/m-p/756867#M58394</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes this I would do simply with field calculator. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would require a minute or&amp;nbsp;two&amp;nbsp;per field to write the calculation.&lt;/P&gt;&lt;P&gt;However I have experience with VB, which is still a valid usage for Field Calculator. Personally I would perform the calculations in MS Access if in a personal geodatabase&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If in access add all your fields&amp;nbsp; Input rows and out put rows.&amp;nbsp; set criteria for input to&amp;nbsp; &lt;STRONG&gt;like (1*&lt;/STRONG&gt;&amp;nbsp; then calculate output row 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;mid([inputrow], mid({inputrow],(5,(instr([inputrow]," ")))))&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You may have to adjust the parentheticals and add a -1 to the second mid calculation number&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;then use field length of the previous output plus 5&amp;nbsp;as the start of the the next instring.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Mar 2018 12:16:34 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/split-attribute-into-multiple-rows-using-python/m-p/756867#M58394</guid>
      <dc:creator>RobertBorchert</dc:creator>
      <dc:date>2018-03-30T12:16:34Z</dc:date>
    </item>
  </channel>
</rss>

