Python Forum
update dict as per range of values
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
update dict as per range of values
#4
Hi All,

I am able to print desired output line by line, however I am storing output in Dict and later appending to List.

My issue is, not able to print dict correctly, something is going wrong.

data = """adsl name 1 Ashank Race PVT LTD
adsl name 2 praful
adsl name 3,55 reliance park
adsl name 5 sort & ltd
adsl name 7 kishor
adsl name 8 syed
adsl name 9 pinki
adsl name 10 Sushil
adsl name 11~16,20~21 shivraj patil
adsl name 17 urvi
adsl name 22 Ritesh Patil
adsl name 23 kankunta
adsl name 25 abh=hek
adsl name 27 Tanuja
adsl name 29 Kamal
adsl name 32 M/S Balaji
adsl name 33 M/s Balaji
adsl name 37 freeg wifi
adsl name 38 anjana"""
port_list = []

for line in data.split('\n'):
    
    port_details= {}
    if ',' in line and '~' not in line:
        #port_details = {}
       # port_range = line.strip()[len("adsl name "):]
       # customer = line.strip()[len("adsl name "):].split(' ')[1:]
       # customer = ' '.join(customer)
       # first_port = port_range.split(',')[0]
       # second_port = port_range.split(',')[1].split(' ')[0]
       # port_details_1['port'] = first_port
       # port_details_1['customer'] = customer
       # port_list.append(port_details_1)
        #port_details['port'] = second_port
        #port_details['customer'] = customer
        #port_list.append(port_details)
        print(first_port,customer)
        print(second_port,customer)
    if ',' and '~' in line and line.count('~') == 2:
        first_range = line.strip()[len("adsl name "):].split(' ')[0].split(',')[0]
        second_range = line.strip()[len("adsl name "):].split(' ')[0].split(',')[1]
        customer = line.strip()[len("adsl name "):].split(' ')[1:]
        customer = ' '.join(customer)
        first_range_start = first_range.split('~')[0]
        first_range_end = first_range.split('~')[1]
        second_range_start = second_range.split('~')[0]
        second_range_end = second_range.split('~')[1]
        for first_range_port in range(int(first_range_start), int(first_range_end)+1):
            port_details['port'] = first_range_port
            port_details['customer'] = customer
            print(first_range_port, customer)
            port_list.append(port_details)
            
        for second_range_port in range(int(second_range_start), int(second_range_end)+1):
            print(second_range_port, customer)
            port_details_2['port'] = second_range_port
            port_details_2['customer'] = customer
            port_list.append(port_details_2)
    if '~' in line and (line.count('~')) == 1:
        range_start = line.strip()[len("adsl name "):].split(' ')[0].split('~')[0]
        range_end = line.strip()[len("adsl name "):].split(' ')[0].split('~')[1]
        customer = line.strip()[len("adsl name "):].split(' ')[1:]
        customer = ' '.join(customer)
        for range_port in range(int(range_start), int(range_end)+1):
            print(range_port, customer)
            port_details['port'] = range_port
            port_details['customer'] = customer
            port_list.append(port_details)
    else:
        if ',' not in line:
            port = line.strip()[len("adsl name "):].split(' ')[0]
            customer = line.strip()[len("adsl name "):].split(' ')[1:]
            customer = ' '.join(customer)
            print(port, customer)
            port_details['port'] = port
            port_details['customer'] = customer
            port_list.append(port_details)
for details in port_list:
    print(details['port'],details['customer'])


Line by Line output
Output:
1 Ashank Race PVT LTD 2 praful 3 praful 24 praful 5 sort & ltd 7 kishor 8 syed 9 pinki 10 Sushil 11 shivraj patil 12 shivraj patil 13 shivraj patil 14 shivraj patil 15 shivraj patil 16 shivraj patil 20 shivraj patil 21 shivraj patil 17 urvi 22 Ritesh Patil 23 kankunta 25 abh=hek 27 Tanuja 29 Kamal 32 M/S Balaji 33 M/s Balaji 37 freeg wifi 38 anjana
Dict output
Output:
1 Ashank Race PVT LTD 2 praful 5 sort & ltd 7 kishor 8 syed 9 pinki 10 Sushil 16 shivraj patil 16 shivraj patil 16 shivraj patil 16 shivraj patil 16 shivraj patil 16 shivraj patil 21 shivraj patil 21 shivraj patil 17 urvi 22 Ritesh Patil 23 kankunta 25 abh=hek 27 Tanuja 29 Kamal 32 M/S Balaji 33 M/s Balaji 37 freeg wifi 38 anjana
difference

Output:
11 shivraj patil 12 shivraj patil 13 shivraj patil 14 shivraj patil 15 shivraj patil 16 shivraj patil 20 shivraj patil 21 shivraj patil =-=-=-=-=-== 16 shivraj patil 16 shivraj patil 16 shivraj patil 16 shivraj patil 16 shivraj patil 16 shivraj patil 21 shivraj patil 21 shivraj patil
Reply


Messages In This Thread
update dict as per range of values - by anna - Sep-04-2019, 01:13 PM
RE: update dict as per range of values - by anna - Sep-05-2019, 06:24 AM
RE: update dict as per range of values - by anna - Sep-09-2019, 06:48 AM
RE: update dict as per range of values - by luoheng - Sep-09-2019, 07:37 AM
RE: update dict as per range of values - by anna - Sep-09-2019, 11:01 AM
RE: update dict as per range of values - by anna - Sep-13-2019, 04:37 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  dict class override: how access parent values? Andrey 1 1,644 Mar-06-2022, 10:49 PM
Last Post: deanhystad
  matplotlib x axis range goes over the set range Pedroski55 5 3,228 Nov-21-2021, 08:40 AM
Last Post: paul18fr
  Removing nan values from a dict tomtom 8 7,084 Oct-05-2021, 06:44 PM
Last Post: tomtom
  How can I count values between range dates ? Eidrizi 2 2,471 Mar-17-2021, 01:26 PM
Last Post: Eidrizi
  How to update values in a pyarrow table? xraphael75 1 3,687 Jan-25-2021, 02:14 PM
Last Post: xraphael75
Question Python + Google Sheet | Best way to update specific cells in a single Update()? Vokofe 1 2,700 Dec-16-2020, 05:26 AM
Last Post: Vokofe
  Looking for help in Parse multiple XMLs and update key node values and generate Out.. rajesh3383 0 1,884 Sep-15-2020, 01:42 PM
Last Post: rajesh3383
  Trouble with converting list , dict to int values! faryad13 7 3,779 Sep-04-2020, 06:25 AM
Last Post: faryad13
  Sort a dict in dict cherry_cherry 4 75,797 Apr-08-2020, 12:25 PM
Last Post: perfringo
  How to access specific values from a dict? t4keheart 6 3,118 Feb-05-2020, 11:34 PM
Last Post: metulburr

Forum Jump:

User Panel Messages

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