【发布时间】:2020-03-12 12:21:13
【问题描述】:
我有一个 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'],} 目前对我来说没有任何意义......
谢谢!
编辑:
这是一整行数据:
【问题讨论】:
-
你能在edit 的问题上添加
with open('survey.csv', 'rb) as f:print(f.read(100))的输出吗?这应该让我们弄清楚列是如何分离的。 -
嗨,很抱歉错过了这个。这是输出:"Participant/Question"",""1. Gender" ",2. Level of study" ",3. How often visit SC" ",4.
-
这看起来不像
'rb'模式的输出 - 我想查看字节以确切地查看 original 文件的情况构造。 -
对不起,我完全错过了 'rb' 的事情,首先我收到一个关于打开字节的 csv.error,然后是:b'"Participant/Question"",""1. Gender"\t \t\t\t\r\n",2.学习水平"\t\t\t\t\r\n",3.多久访问一次SC"\t\t\t\t\r\ n",'
-
我认为有很多解析问题,因为在我的 Counter 字典中,我有完整的“单词”,例如“是,否,有点”
标签: python python-3.x csv dictionary multidimensional-array