使用csv文件中的行号创建字典[Python]

tz

我有一个CSV文件,其中包含60位参与者的调查数据。第一列是参与者的号码,每个号码对应从该参与者收集的所有数据。看起来像:

参加人数:1,性别:女,学习程度:研究生

我想创建一个字典,其中的键是参与者编号,值是包含所有数据的整行,以具有以下内容:

{1:女性,研究生,美国人,是,否,否,是,是,否...},依此类推。我仍然是新手,到目前为止,这是我尝试的方法:

with open('surveys.csv', 'r') as f:
    reader = csv.reader(f, delimiter=' ')
    with open('new_surveys.csv', mode='w') as outfile:
            writer = csv.writer(outfile)
            mydict = {rows[0]:rows for rows in reader}
            print(mydict)

但这打印出类似:

{'\ ufeff“':['\ ufeff”'],'参与者/问题“,” 1。':['参与者/问题“,” 1。','性别'],',2。':[ ',2。','Level','of','study'],}目前对我来说没有任何意义...

谢谢!

编辑:

这是一整行数据:

一整行数据,还有59条数据,但它们看起来都一样,唯一的区别是是/否或一天中的时间

Rupin

你可以试试看吗?

import csv
with open('surveys.csv', 'r') as f:
    reader = csv.reader(f, delimiter=' ') 
    mydict={}
    iterreader = iter(reader)
    next(iterreader)
    for row in iterreader:
        elementsList=row[0].split("\t")
        nonEmptyElements=[]
        for element in elementsList[1:]:
            print(element)          
            if(not element.strip()==""):
                nonEmptyElements.append(element)
        valuesList=",".join(nonEmptyElements)
        mydict[elementsList[0]]=valuesList
print(mydict)  

我的CSV看起来像这样

Participant Name    Gender
1   Rupin   Male
2   Poonam  Female
3   Jeshan  Male

该代码避免使用第一行。

我的输出看起来像这样

{'1': 'Rupin,Male', '2': 'Poonam,Female', '3': 'Jeshan,Male'}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章