将csv数据转换为dict的最佳方法

我有以下数据的 csv 文件

我有以下数据的 csv 文件

val1,val2,val3
1,2,3
22,23,33

那么如何将数据转换为 dict

dict1 = { 'val1': 1, 'val2': 2, 'val3': 3}
dict2 = { 'val1': 22, 'val2': 23, 'val3': 33}
fp = open('file.csv', 'r')
reader = csv.reader(fp)
for row in reader:
    ????

谢谢

37
import csv
reader = csv.DictReader(open('myfile.csv'))
for row in reader:
    # profit !
18
Usecsv.DictReader:

fieldnames参数是一个sequence,其元素与输入数据的字段相关联。这些元素将成为结果字典的键。如果fieldnames参数的

4

在这里的其他答案中提到的使用“csv”的很酷的事情是,它可以用于读取文件(明显的用例),但也可以解析常规的 csv 格式的字符串。

读取 csv 文件的示例:

import csv
with open('my_file.csv') as f:
   for line in csv.DictReader(f, fieldnames=('val1', 'val2', 'val3')):
      print(line)

请注意,您可以显式传递您想要作为键的标题,这使得使用不带标题的 csv 文件非常容易。

另一个用例是只读取一个带有 'csv' 的常规字符串

例子:

import csv
my_csv_string = 'val1, val2, val3'
my_csv_dict = next(csv.DictReader(StringIO(s), fieldnames=('key1', 'key2', 'key3')))

无论如何,csv.DictReader()是你所需要的。

4

我经常想在操作 CSV 的同时升级到熊猫。它给你一个全新的可能性世界。

import pandas as pd
df=pd.read_csv('test.csv')
for index, row in df.iterrows():
    d=row.to_dict()
    print(d)
print("")
print( df[df.val3>10].iloc[0].to_dict() )
print( list(df[['val3']]['val3']) )

输出:

{'val1': 1, 'val2': 2, 'val3': 3}
{'val1': 22, 'val2': 23, 'val3': 33}
{'val1': 22, 'val2': 23, 'val3': 33}
[3, 33]

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(657)
如何使用OMD用户监控Docker容器
上一篇
仅在特定 Excel行中旋转文本
下一篇

相关推荐

  • cvt和自动挡哪个好提升驾驶体验的最佳选择

    CVT(可变转换器)是一种由传动带及传动轮组成的无级变速器,它可以在没有传动档位的情况下,根据驾驶者的驾驶习惯,自动调整传动轮之间的转速比,从而实现无级变速。自动挡是指车辆自动变速箱,它使用液力传动来实现变速,可以自动适应车辆的行驶状态,减少司机的疲劳,提高行车的舒适性。…

    2023-06-08 07:42:19
    0 50 54
  • cv一叶扁舟和清影轩阳:漫游在一叶扁舟和清影轩阳之间

    cv一叶扁舟是一款开源的计算机视觉库,用于图像处理、计算机视觉等。它提供了丰富的API,可以帮助开发者快速实现各种图像处理任务,如图像分割、目标检测、图像识别等。清影轩阳是一款开源的计算机视觉框架,用于图像处理、目标检测、分类等。它提供了丰富的API,可以帮助开发者快速实现各种图像处理任务,如图像分割、目标检测、图像识别等。…

    2023-08-05 07:06:20
    0 17 36
  • css设置滚动条宽度设置:This is a title

    CSS设置滚动条宽度的方法:使用CSS3的。-webkit-属性:…

    2023-06-06 10:53:01
    0 98 23
  • xl和xe汽车cvt:探索XL和XE汽车的CVT技术优势

    XL和XE汽车CVT是一种变速器,它使用液力变矩器代替传统的机械变速器,以达到更高的效率。它的工作原理是,当发动机输出功率时,液力变矩器就会将这些功率转换为液压能量,然后将能量传递到变速器的输出轴上,从而实现变速。…

    2023-04-09 00:41:04
    0 89 94
  • cordon bleu是什么意思:法式炸鸡卷——Cordon Bleu的经典之作

    Cordon Bleu是一种烹饪技术,其中肉片被置于奶酪和火腿之间,然后用面包屑裹上,最后煎炸或烤熟。这种技术通常用于制作鸡肉,但也可以用于制作其他类型的肉类,如牛肉或猪肉。…

    2024-01-27 15:13:30
    0 93 29
  • countif 非空:非空单元格的计数

    Countif 非空是指计算某个单元格不为空的数量。代码如下:…

    2023-04-22 15:54:15
    0 96 12
  • java double保留一位小数:How to Round a Double to One Decimal Place in

    示例示例使用类可以轻松实现java double保留一位小数的功能,具体代码如下:// 创建对象…

    2023-05-14 07:40:03
    0 62 57
  • linux如何写c语言一个完整的指南

    示例示例在Linux系统中,可以使用C语言编写源代码文件,然后使用GCC编译器来编译源代码文件,生成可执行文件。下面是一个简单的C语言代码示例:…

    2023-05-16 02:02:45
    0 60 51

发表评论

登录 后才能评论

评论列表(80条)