【发布时间】:2019-05-27 17:45:23
【问题描述】:
我有一个字符串字节
data = b'ra1,rb1,rc1\nra2,rb2,rc2\nra3,rb3,rc3\nra4,rb4,rc4' # No \n at the end
结果应该是这样的
result = [
{"field1": "ra1", "field2": "rb1", "field3": "rc1"},
{"field1": "ra2", "field2": "rb2", "field3": "rc2"},
{"field1": "ra3", "field2": "rb3", "field3": "rc3"},
{"field1": "ra4", "field2": "rb4", "field3": "rc4"}
]
我试过了
result = csv.DictReader(data, fieldnames=('field1', 'field2', 'field3'))
请注意,我在这里不处理任何 CSV 文件。
我知道我们需要将文件对象作为第一个参数传递给上述 DictReader 方法才能得到上述结果。
python 3.6中是否有类似的内置方法来实现我的结果?
在这里我不想使用循环,因为我的数据会非常庞大。
【问题讨论】:
-
看看这个答案,使用 csv 包的阅读器解决类似的问题:stackoverflow.com/questions/53278358/…
-
数据的大小与是否应该使用循环无关。
-
你试过的代码有什么问题?
-
@sekky,即使我也不想使用 pandas 包,因为它的包体积很大,而且有很多依赖包。对于这一行,我不想在我的应用程序服务器中浪费 27 MB。
-
@mkrieger1,我没有处理任何 CSV 文件。这就是问题。这个 DictReader 方法在 CSV 包中可用。
标签: python-3.x dictionary byte