Python Forum
splitting lines, need to add element of same kind
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
splitting lines, need to add element of same kind
#5
Without any assumption about the number of different animals in the file maybe something like this.
from datetime import datetime
 
now = datetime.now()
date_time = now.strftime("%m/%d/%Y")
to_app ='C:/02/All_an.txt'
 
animals = dict()

with open (to_app, 'r+') as app:
    for ln_in_file in app :
        ln_in_file=ln_in_file.strip()

        line, P, num, animal = ln_in_file.split(',')
        if animal in animals:
            animals[animal]['count'] += int(num)
        else:
            animals[animal] = {'count': int(num), 'P': P, 'date': date_time}

for animal in animals:    
    print(f"{animals[animal]['date']},{animals[animal]['count']},{animals[animal]['P']},{animal}")
As I don't know anything about the function of 'P' and 'lineNN', I omitted the 'lineNN' and replaced it with the date, but kept the rest. If this is not necessary, the code can be much simplified:
from datetime import datetime
 
now = datetime.now()
date_time = now.strftime("%m/%d/%Y")
to_app ='C:/02/All_an.txt'
 
animals = dict()

with open (to_app, 'r+') as app:
    for ln_in_file in app :
        ln_in_file=ln_in_file.strip()

        line, P, num, animal = ln_in_file.split(',')
        if animal in animals:
            animals[animal] += int(num)
        else:
            animals[animal] = int(num)

for animal, count in animals.items():
    print(f"{date_time},{count},P,{animal}")
tester_V likes this post
Reply


Messages In This Thread
RE: splitting lines, need to add element of same kind - by Serafim - Feb-20-2021, 10:10 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  What kind of list is this? jesse68 2 1,185 Jun-29-2022, 05:02 PM
Last Post: rob101
  What kind of object is this? Moris526 5 2,594 Dec-27-2020, 06:41 AM
Last Post: Gribouillis
  Iterate 2 large text files across lines and replace lines in second file medatib531 13 6,053 Aug-10-2020, 11:01 PM
Last Post: medatib531
  How to do this kind of IF STATEMENT? glennford49 4 2,714 Jun-17-2020, 09:45 AM
Last Post: glennford49
  Splitting lines ang grouping three at once samsonite 5 2,843 Jun-21-2019, 05:19 PM
Last Post: ichabod801
  Unable to locate element no such element gahhon 6 4,570 Feb-18-2019, 02:09 PM
Last Post: gahhon
  How to write a code to get this kind of output in IDLE kavindu 5 3,618 Oct-28-2018, 07:46 PM
Last Post: wavic
  Newbie question for a kind of rolling average of list of lits zydjohn 3 3,383 Dec-16-2017, 11:41 PM
Last Post: ezdev
  Change single element in 2D list changes every 1D element AceScottie 9 12,176 Nov-13-2017, 07:05 PM
Last Post: Larz60+
  Compiler fault or some kind of weird referencing bug? Joseph_f2 11 9,262 May-09-2017, 08:50 PM
Last Post: volcano63

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020