dimanche 16 octobre 2016

Python: Select particular characters from a file and add them to a new variable

I'm fairly new to python and I'm not sure why what I'm doing is wrong.

numberOfOrders = 0
numberOfProducts = 0

allOrders = open("file.txt", "r") #A .txt file in the same directory as the .py file.
#file.txt: 
#(A->[a:20,a:20,b:10,c:25,c:25])
#(B->[d:100,e:70])
#(C->[f:10000,g:200000])

while True:
        theline = allOrders.readline()
        for theline in allOrders:
            for char in theline: #Iterate over each character of a line.
                listProducts = "" #Empty string, will be the concatenation of the wanted characters.
                if char == "[": #Wanted character.
                    listProducts = listProducts + "["
                elif char == ":": #To keep count of no. of products in a list.
                    numberOfProducts += 1
                elif is_number(char) == True: #Function that checks whether char is a number.
                    listProducts = listProducts + str(char) #Add to the string "listProducts".
                elif char == ",": #Wanted character.
                    listProducts = listProducts + str(char)
                elif char == "]":#Wanted character, to end the string.
                    listProducts = listProducts +str(char)
                    break
            numberOfOrders += 1 #To keep track of no. of orders. Each line of file is an order. 
        if len(theline) == 0:
            break

    allOrders.close()

    print(numberOfProducts)
    print(numberOfOrders)
    print(listProducts)

I basically only want the numbers and commas within brackets. That's my biggest issue here. The output I get for

 print(listProducts)

is

 ]

Thank you.

Aucun commentaire:

Enregistrer un commentaire