<?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 values in csv in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/values-in-csv/m-p/507504#M39879</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have a csv that looks like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;A,B,C,D&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(Newline)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2,3,4,feature_1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1,2,4,feature_1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#Average line "","",4&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(Newline)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3,6,7,feature_2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1,2,6,feature_2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#Average line "","",""6.5&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I want to be able to take the rows for each "feature" and write another line that takes the average of the values in column "C". I have inserted comments for your convenience.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 30 Apr 2014 15:57:24 GMT</pubDate>
    <dc:creator>benberman</dc:creator>
    <dc:date>2014-04-30T15:57:24Z</dc:date>
    <item>
      <title>values in csv</title>
      <link>https://community.esri.com/t5/python-questions/values-in-csv/m-p/507504#M39879</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have a csv that looks like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;A,B,C,D&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(Newline)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2,3,4,feature_1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1,2,4,feature_1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#Average line "","",4&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(Newline)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3,6,7,feature_2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1,2,6,feature_2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#Average line "","",""6.5&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I want to be able to take the rows for each "feature" and write another line that takes the average of the values in column "C". I have inserted comments for your convenience.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Apr 2014 15:57:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/values-in-csv/m-p/507504#M39879</guid>
      <dc:creator>benberman</dc:creator>
      <dc:date>2014-04-30T15:57:24Z</dc:date>
    </item>
    <item>
      <title>Re: values in csv</title>
      <link>https://community.esri.com/t5/python-questions/values-in-csv/m-p/507505#M39880</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You want something like the &lt;/SPAN&gt;&lt;A href="http://www.tutorialspoint.com/python/file_readline.htm" rel="nofollow noopener noreferrer" target="_blank"&gt;readline&lt;/A&gt;&lt;SPAN&gt; method. Here is the basics, not a full version, but you get the idea...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
with open("foo.csv", "r") as f:
&amp;nbsp;&amp;nbsp;&amp;nbsp; f.readline()&amp;nbsp;&amp;nbsp;&amp;nbsp; # get rid of the first line
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; # this section goes in a loop
&amp;nbsp;&amp;nbsp;&amp;nbsp; f.readline()&amp;nbsp;&amp;nbsp;&amp;nbsp; #discard newline
&amp;nbsp;&amp;nbsp;&amp;nbsp; lineOne = f.readline()&amp;nbsp;&amp;nbsp;&amp;nbsp; # first line with a value
&amp;nbsp;&amp;nbsp;&amp;nbsp; x = float(lineOne.split(",")[2])
&amp;nbsp;&amp;nbsp;&amp;nbsp; lineTwo = f.readline()
&amp;nbsp;&amp;nbsp;&amp;nbsp; x += (float(lineTwo.split(",")[2]))/2&amp;nbsp;&amp;nbsp; # this is your value
&amp;nbsp;&amp;nbsp;&amp;nbsp; # do something

&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 22:14:40 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/values-in-csv/m-p/507505#M39880</guid>
      <dc:creator>Zeke</dc:creator>
      <dc:date>2021-12-11T22:14:40Z</dc:date>
    </item>
    <item>
      <title>Re: values in csv</title>
      <link>https://community.esri.com/t5/python-questions/values-in-csv/m-p/507506#M39881</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello FLBB,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Along the same train of thoughts as Greg, this might work:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;infile=open(r'C:\Path\To\Input.csv','r') #opens a read only copy

#get csv into array:
lines=[]
for line in infile:
&amp;nbsp;&amp;nbsp;&amp;nbsp; lines.append(line.split(','))
infile.close()

toOut=[lines[0]] #start output with the header
prevFC=lines[1][3] #start with first fc
tempList=[]

for line in lines[1:]: #skip header
&amp;nbsp;&amp;nbsp;&amp;nbsp; if line[0]=='\n' or line[0]=="(Newline)\n":
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue
&amp;nbsp;&amp;nbsp;&amp;nbsp; fc=line[3]
&amp;nbsp;&amp;nbsp;&amp;nbsp; if prevFC!=fc:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; avg=sum(tempList)/float(len(tempList))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toOut.append(['','',str(avg),'\n'])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toOut.append(['','','','\n']) #add blank line
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tempList=[]
&amp;nbsp;&amp;nbsp;&amp;nbsp; toOut.append(line)
&amp;nbsp;&amp;nbsp;&amp;nbsp; val=float(line[2])
&amp;nbsp;&amp;nbsp;&amp;nbsp; tempList.append(val)
&amp;nbsp;&amp;nbsp;&amp;nbsp; prevFC=fc

#add last average line:
avg=sum(tempList)/float(len(tempList))
toOut.append(['','',str(avg),'\n'])
toOut.append(['','','','\n']) #add blank line

#build output:
toOutCSV=''
for line in toOut:
&amp;nbsp;&amp;nbsp;&amp;nbsp; toOutCSV+=','.join(line)

#Write to output file:
outfile=open(r'C:\Path\To\Output.csv','w') #opens a write copy (will overwrite output)
outfile.write(toOutCSV)
outfile.close()

&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 22:14:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/values-in-csv/m-p/507506#M39881</guid>
      <dc:creator>JoshuaChisholm</dc:creator>
      <dc:date>2021-12-11T22:14:43Z</dc:date>
    </item>
  </channel>
</rss>

