读取csv文件有困难

时间:2018-10-12 15:10:21

标签: python csv

编写一个名为“ csv_to_kvs”的函数,该函数将一个字符串作为参数来表示CSV文件的名称,该文件具有4列,格式为“字符串,浮点,浮点,浮点”,并返回一个新的键值存储映射字符串到浮点数字。返回的键值存储将为文件中的每一行提供一对,其中CSV文件的第一列中的键来自第三列中的值。 (下面的代码)

import csv
def csv_to_kvs(string):
  with open(string) as f:
    my_file = csv.reader(f)
    my_dict = {}
    for row in my_file:
      my_dict[row[0]] = row[2]
    return my_dict

如何将字典中的值转换为浮点数?

1 个答案:

答案 0 :(得分:0)

使用投射。

  

有时可能要在变量上指定类型。这可以通过铸造来完成。 Python是一种面向对象的语言,因此它使用类来定义数据类型,包括其原始类型。

     

因此,使用构造函数在python中进行铸造:

     

int()-从整数文字,浮点文字(通过四舍五入到前一个整数)或字符串文字(假设字符串代表整数)构造一个整数

     

float()-根据整数文字,浮点文字或字符串文字(如果字符串代表浮点数或整数)构造一个浮点数

     

str()-根据各种数据类型构造字符串,包括字符串,整数文字和浮点文字

参考:https://www.w3schools.com/python/python_casting.asp

您的代码应如下所示:

import csv
def csv_to_kvs(string):
  with open(string) as f:
    my_file = csv.reader(f)
    my_dict = {}
    for row in my_file:
      my_dict[row[0]] = float(row[2])
    return my_dict