Python 我怎样才能删除“&引用;和。从列表中的数据

Python 我怎样才能删除“&引用;和。从列表中的数据,python,Python,因此,我有一个大学python项目,它要求我制作一个程序来管理库存,我的问题基本上是,每当我试图将价格和数量再次转换为浮动时,就会出现这种异常情况,那么我如何才能转换它们,以便对它们进行进一步的处理? 请注意,我试图使用.strip,但它不起作用 这就是错误: 浮动价格=浮动(i) ValueError:无法将字符串转换为浮点:'.' 这是我遇到问题的代码: from tabulate import tabulate def read_data(): file = open("

因此,我有一个大学python项目,它要求我制作一个程序来管理库存,我的问题基本上是,每当我试图将价格和数量再次转换为浮动时,就会出现这种异常情况,那么我如何才能转换它们,以便对它们进行进一步的处理? 请注意,我试图使用.strip,但它不起作用

这就是错误:

浮动价格=浮动(i)

ValueError:无法将字符串转换为浮点:'.'

这是我遇到问题的代码:

from tabulate import tabulate
def read_data():
    file = open("inventory.txt", "r")
    list_of_lists = []
    for line in file:
        stripped_line = line.strip()
        line_list = stripped_line.split()
        list_of_lists.append(line_list)

    updated_list = list_of_lists[1:]
    file.close()
    return updated_list

def list_data():

    updated_list = read_data()
    
    index = 0
    price = 0
    quantity = 0
    j = 0
    while j < len(updated_list):
        for i in updated_list[1][4]:
            float_price = float(i)
            price += float_price

            
    
    print(price)
    
    
    header = ['MAKE', 'MODEL', 'PART ID', 'PART NAME', 'PRICE', 'QUANTITY']
    print(tabulate(updated_list, headers=header))    

    



list_data()

由于错误消息指出“.”是字符串,因此无法将其转换为float,因此会引发错误。。这取决于你想在这种情况下做什么,你可以使用try-except-as

from tabulate import tabulate
def read_data():
    file = open("inventory.txt", "r")
    list_of_lists = []
    for line in file:
        stripped_line = line.strip()
        line_list = stripped_line.split()
        list_of_lists.append(line_list)

    updated_list = list_of_lists[1:]
    file.close()
    return updated_list

def list_data():

    updated_list = read_data()
    
    index = 0
    price = 0
    quantity = 0
    j = 0
    while j < len(updated_list):
        for i in updated_list[1][4]:
            try:
               float_price = float(i)
               price += float_price
            except ValueError as e:
               print('Value Error')
   
            

            
    
    print(price)
    
    
    header = ['MAKE', 'MODEL', 'PART ID', 'PART NAME', 'PRICE', 'QUANTITY']
    print(tabulate(updated_list, headers=header))    

    



list_data()
从表格导入表格
def read_data():
文件=打开(“inventory.txt”、“r”)
列表中的列表=[]
对于文件中的行:
剥离的线=线。剥离()
行列表=剥离行。拆分()
列表的列表。追加(行列表)
更新的_列表=_列表的列表[1:]
file.close()文件
返回更新的\u列表
def list_data():
更新的\u列表=读取\u数据()
索引=0
价格=0
数量=0
j=0
而j
请提供
inventory.txt
文件或至少足够重新创建问题。是的。想想看。如果您可以取消文件读取,只需在代码中放入一个充满数据的字符串,这是最好的选择。三重引号非常有用,因为它们可以让您轻松地保留多行数据。然后只需将代码缩减到显示数据解析出错所必需的部分。-似乎您不需要大部分代码来演示您的问题。什么是
i
?如果您现在正在使用IDE,那么现在正是学习其调试功能的好时机,如单步执行、设置断点和检查值。或者你可以花一点时间熟悉内置的。此外,在你的程序中的战略点上打印内容可以帮助你追踪正在发生或没有发生的事情。这不是OP要求的。他需要以不同的方式处理数据,并询问如何做到这一点。我认为他不想打印一些东西,但要忽略这些错误。结果可能是“.”字符是浮点的一部分,他应该保持完整并转换为真正的浮点值。你是对的@Steve,我也注意到这就是为什么我说“这取决于你想在这种情况下做什么”的原因,如果你有这样的列表['1.2','2.4','3.4','如果要将每个元素(每个元素都是字符串)转换为float,则会在“.”处出现值错误
from tabulate import tabulate
def read_data():
    file = open("inventory.txt", "r")
    list_of_lists = []
    for line in file:
        stripped_line = line.strip()
        line_list = stripped_line.split()
        list_of_lists.append(line_list)

    updated_list = list_of_lists[1:]
    file.close()
    return updated_list

def list_data():

    updated_list = read_data()
    
    index = 0
    price = 0
    quantity = 0
    j = 0
    while j < len(updated_list):
        for i in updated_list[1][4]:
            try:
               float_price = float(i)
               price += float_price
            except ValueError as e:
               print('Value Error')
   
            

            
    
    print(price)
    
    
    header = ['MAKE', 'MODEL', 'PART ID', 'PART NAME', 'PRICE', 'QUANTITY']
    print(tabulate(updated_list, headers=header))    

    



list_data()