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
#6
observed same issue, after dict in loop

now some improvement, however some difference

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:
        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_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):
            #port_details = {}
            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)
print('Printing Dict ----------- ')
for details in port_list:
    
    print(details['port'],details['customer'])
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 Printing Dict ----------- 1 Ashank Race PVT LTD 2 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 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
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,666 Mar-06-2022, 10:49 PM
Last Post: deanhystad
  matplotlib x axis range goes over the set range Pedroski55 5 3,267 Nov-21-2021, 08:40 AM
Last Post: paul18fr
  Removing nan values from a dict tomtom 8 7,157 Oct-05-2021, 06:44 PM
Last Post: tomtom
  How can I count values between range dates ? Eidrizi 2 2,477 Mar-17-2021, 01:26 PM
Last Post: Eidrizi
  How to update values in a pyarrow table? xraphael75 1 3,700 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,716 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,889 Sep-15-2020, 01:42 PM
Last Post: rajesh3383
  Trouble with converting list , dict to int values! faryad13 7 3,795 Sep-04-2020, 06:25 AM
Last Post: faryad13
  Sort a dict in dict cherry_cherry 4 78,651 Apr-08-2020, 12:25 PM
Last Post: perfringo
  How to access specific values from a dict? t4keheart 6 3,136 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