CSV文件到键值对Python 3

2024-10-01 11:19:42 发布

您现在位置:Python中文网/ 问答频道 /正文

import csv

def csv_to_kvs(fileName):
  stringFloats = []
  with open(fileName,'r') as csvFile:
    csvreader = csv.reader(csvFile)
    for row in csvreader:
      stringFloats.append(row)
    print(stringFloats)

我试图获取一个CSV文件,它是字符串,float,float,float格式的10行,我必须使字符串成为一个键值对,所有的float都在相应的行上

因此,如果CSV文件为:
年龄,16,17,18
面积,1,7,4
打电话,2,3,6

代码需要返回{age:[16,17,18],等等..}。我们赞赏朝着正确方向迈出的任何一步。我正在学习CSV文件阅读,不太理解它


Tags: 文件csvtocsvfile字符串importdefwith
1条回答
网友
1楼 · 发布于 2024-10-01 11:19:42

读取该行时,字典键位于第0列,值位于其余列。您可以对行进行切片,可以选择在途中转换为float,并分配给所需的dict

导入csv

def csv_to_kvs(fileName):
    stringFloats = {}
    with open(fileName,'r') as csvFile:
        csvreader = csv.reader(csvFile)
        for row in csvreader:
            # assuming 1 and following should be floats 
            stringFloats[row[0]] = [float(val) for val in row[1:]]
        print(stringFloats)
    return stringFloats

(…并接受4个空格缩进!)

相关问题 更多 >