python-3.x - 如何将csv更改为字典
问题描述
我有一个 csv 文件,其中列作为列表我想变成一个字典,其中列标题作为键,列的其余部分作为列表值。我想在不导入的情况下做到这一点。
我将如何转这个:
[
['col1', 'col2', 'col3', 'col4', 'col5'],
['1', 'a', 'd', 'g', 'j'],
['2', 'b', 'e', 'h', 'k'],
['3', 'c', 'f', 'I', 'l']
]
进入这个:
{
'col1': ['1', '2', '3'],
'col2': ['a', 'b', 'c'],
'col3': ['d', 'e', 'f'],
'col4': ['g', 'h', 'I'],
'col5': ['j', 'k', 'l']
}
谢谢。我也可以使用二维数组而不是初始列表?
解决方案
根据您的列表,您可以使用内置的zip函数和一些语法糖来拆分数据:
data = [
['col1', 'col2', 'col3', 'col4', 'col5'],
['1', 'a', 'd', 'g', 'j'],
['2', 'b', 'e', 'h', 'k'],
['3', 'c', 'f', 'I', 'l']
]
transformed = {key: value for key, *value in zip(*data)}
给
{
'col1': ['1', '2', '3'],
'col2': ['a', 'b', 'c'],
'col3': ['d', 'e', 'f'],
'col4': ['g', 'h', 'I'],
'col5': ['j', 'k', 'l']
}
要在不导入适当的csv模块的情况下处理 CSV 文件,您最终将自己解析文本,实质上是重新实现现有的内置代码。
推荐阅读
- r - 如何使用 shiny:renderUI 和 shiny:UiOutput 生成带有闪亮模块的条件输出
- python - 使用加载的 CNN 进行预测时出错
- javascript - 如何将数据推送到子元素
- python - 当我使用 PyQT 作为 GUI 处理 tensorflow 对象检测时,它非常慢
- c# - 如何使用 C# 将多个 JPG 图像合并到一张大(巨大)图像中
- mesh - 在 fipy 中将 PhysicalFace 提取为 2D 网格
- excel - For Each 和 If 函数中的 FormulaR1C1
- javascript - 更新到 Angular 8 后找不到模块 @angular/common/http/src/params
- java - 如何在获取请求上发送多个参数
- c# - 如何在gridview中读取动态添加的texbox值