[英]Difficulty with reading csv file
编写一个名为“ csv_to_kvs”的函数,该函数将字符串作为参数来表示具有4列的CSV文件名,格式为“ string,float,float,float”,并返回一个新的键-值存储,将字符串映射到浮点数。 返回的键值存储将为文件中的每一行提供一对,其中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
如何将字典中的值转换为浮点数?
使用铸造。
有时您可能想在变量上指定类型。 这可以通过铸造来完成。 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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.