Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String Python:如何从文本文件中读取一系列字符串作为浮点数?_String_Python 2.7_Text_Type Conversion_Floating Point Conversion - Fatal编程技术网

String Python:如何从文本文件中读取一系列字符串作为浮点数?

String Python:如何从文本文件中读取一系列字符串作为浮点数?,string,python-2.7,text,type-conversion,floating-point-conversion,String,Python 2.7,Text,Type Conversion,Floating Point Conversion,我试图逐行从文本文件中读取一系列字符串,如下所示: 11,52.15384615384615,52.84615384615385,14.0,45.15384615384615,39.76923076923077 10,27.09090909090909,54.81818181818182,64.36363636363636,65.54545454545455,21.90909090909091 第一个数字是用作索引的整数,我想得到的是浮点数,例如 11, 52.15, 52.85, 14.00

我试图逐行从文本文件中读取一系列字符串,如下所示:

11,52.15384615384615,52.84615384615385,14.0,45.15384615384615,39.76923076923077
10,27.09090909090909,54.81818181818182,64.36363636363636,65.54545454545455,21.90909090909091
第一个数字是用作索引的整数,我想得到的是浮点数,例如

11, 52.15, 52.85, 14.00, 45.15, 39.77
10, 27.09, 54.82, 64.36, 65,54, 21.91

如何将这些字符串转换为数字列表?

从您的示例中,我认为这就是您要寻找的。 下面的字符串s被转换为浮点,然后四舍五入为2个小数点

>>>s='51.843256'
>>>round(float(s), 2)
51.84

听起来您正试图从文本文件中获得一个浮动列表。您可以使用dict将您提到的索引映射到浮动列表。然后打开文件,逐行读取,使用split',将字符串拆分为字符串列表。然后在索引时获取第一个整数,使用列表切片查看其余字符串,并对它们进行转换/舍入,然后将它们添加到一个新列表中,稍后可以将其分配给索引

阅读代码可能比解释代码更容易

my_float_dict = dict()
with open('my_float_strings.txt','r') as f:
    for line in f:

        string_list = line.split(',')

        index = int(string_list[0])

        line_float_list = []
        for field in string_list[1:]:
            line_float_list.append(round(float(field),2))

        my_float_dict[index] = line_float_list

print my_float_dict

伟大的这就是我要找的。你很明白我的要求!。谢谢。我感谢你!请注意,如果索引值重复,将用最新的索引值覆盖dict条目。在这里,您可能需要执行大量的错误处理—检查非浮点值、重复索引等。祝您好运!