我有一个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'],}目前对我来说没有任何意义...
谢谢!
编辑:
这是一整行数据:
你可以试试看吗?
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] 删除。
我来说两句