从CSV Python读取特定列

2024-10-01 19:16:10 发布

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

我试图通过一个CSV文件进行解析,并从CSV中提取一些列。在

ID | Code | Phase |FBB | AM | Development status | AN REMARKS | stem | year |   IN -NAME |IN Year |Company                                                                                                      
L2106538 |Rs124 | 4 | | | Unknown | | -pre- | 1982 | Domoedne | 1982 | XYZ

我想分组和提取一些列上传到不同的模型。在

例如,我想将前3列分组到一个模型,下两列分组到不同的模型,第一列和第6、7列分组到不同的模型,依此类推。在

我还需要保留文件的头,并将数据存储为键值对,这样我就可以知道模型中的特定字段应该使用哪一列。在

这就是我目前所拥有的。在

^{pr2}$

这就是我试着弄到里面的东西时得到的 按型号分组:位于0x7f9f5382e0f0>; 在0x7f9f5382e0a0>; 在0x7f9f5382e0f0>

在DictReader中有没有不同的方法来提取特定的列?否则我如何使用DictReader提取所需的列。谢谢


Tags: 文件csvin模型gtanidstatus
1条回答
网友
1楼 · 发布于 2024-10-01 19:16:10

(every_row[i] for i in MD)generator expression。生成器表达式的语法(大部分)与list comprehension的语法相同,只是生成器表达式用括号(...)括起来,而列表理解使用方括号[...]。在

[(every_row[i] for i in MD)]是一个包含一个元素的列表,即生成器表达式。在

要以最小的更改修复代码,请删除括号:

def group_by_models(all_results):
    MD = range(1,3) # to get the required cols. 
    for every_row in all_results:
        contents = [every_row[i] for i in MD]
        print(contents)

您还可以通过将MD作为一个参数,使group_by_models更可重用:

^{pr2}$

相关问题 更多 >

    热门问题