csv 标记化数据时出错,C错误:第4行预期有13个字段,实际上有19个-不确定原因?

swvgeqrz  于 2023-03-05  发布在  其他
关注(0)|答案(1)|浏览(191)

我有一个CSV文件。CSV文件的前5行如下所示:

subjectGroup    browser version screenWidth screenHeight    OS  OS_lang GMT_timestamp   local_timestamp trial_file_version  mindsCode   link    duration_s                      
62  Chrome  109.0.0.0   1360    768 Windows en-GB   2023-01-29_12:15:31 2023-01-29_12:15:31 2023-01-24_14:32:48 M878637 https://www.testable.org/experiment/9943/367419/start?participant=M878637   679.84                      
                                                                        
rowNo   type    head    body    responseRows    responseType    required    pageBreak   responseOptions responseOther   trialText   stim1   stimFormat  subjectGroup    button1 timestamp   response    RT  responseCode
64  test                                    This is your unique ID for the Sea Hero Quest game.<br> Please make a note of it as you will need it to play the game.  3WMF89VV    word    62  Next    32492   1   19275   
91  form    Please answer the following question BEFORE starting the game: How good are you at navigating?          likert  1   1   very good;good;bad;very bad                         47203   very good   5697    1

我正在尝试从此CSV文件中的特定单元格提取数据,特别是“mindsCode”单元格下方单元格中的代码**“M607538”**。“
我有下面一行代码。

newdata2 = pd.read_csv('/Users/macbook/Desktop/SavedSHQdatafullgame/demoresults/'+filename)

然而,这给了我错误:* '标记化数据时出错。C错误:第4行应为13个字段,实际为19'
如果我尝试下面的方法,并且
跳过前3行
*,它就可以正常工作:

rows_to_keep = [0,1,2]
newdata = pd.read_csv('/Users/macbook/Desktop/SavedSHQdatafullgame/demoresults/'+filename,skiprows = lambda x: x in rows_to_keep)

但是,我想提取的代码在第2行,所以我想保留前3行的数据。因此,我尝试了以下操作:

newdata2 = pd.read_csv('/Users/macbook/Desktop/SavedSHQdatafullgame/demoresults/'+filename,sep='delimiter',header=None)    
newdata2.transpose()

然而,这导致我的数据以一种使我难以提取特定代码的格式出现。

我将非常感谢你的帮助,告诉我如何提取我想要的信息

krugob8w

krugob8w1#

我设法用**'str.split()a**函数找到了解决这个问题的方法,这个函数用逗号作为分隔符将数据分隔成列。

**newer.iloc[1]**指的是我选择数据的第2行,因为这是我感兴趣的。

然后,我可以根据代码在生成的结果列表**'here2'**中的索引位置提取所需的代码。

newdata2 = pd.read_csv('/Users/macbook/Desktop/SavedSHQdatafullgame/demoresults/'+filename,sep='delimiter',header=None)    
newer = newdata2.transpose()
newer = newdata2.iloc[:,0].str.split(',')
here2 = newer.iloc[1]
here2[10]

相关问题