我有一个庞大的csv文件,其中的信息应该以列的形式显示,并且以任何顺序将它们全部放在一起。我知道如何使用分隔符拆分列,但是当我这样做时,单列不包含一致的信息。示例是这样的:
Person Information
Mary Married: Yes
John Number of children: three, Married: No
Susan
Betty Do you like icecream?: Yes, Married: Yes, Number of chidren: four
Daniel Do you like icecream?: Sometimes, Number of chidren: two
Conrad Married: No, Do you like icecream?: No
Ofelia Married: No, Do you read?: Yes, Do you like icecream?: Some flavors
当我使用str.split拆分为列时,我最终得到的列包含:
Yes
three
(empty space)
Yes (but this is the answer to another question)
Sometimes
等我想要的是一列,其中包含如果该人已婚的所有信息,另一列包含孩子的数量,另一列(如果他们喜欢冰淇淋的话),等等。
我建议您通过处理文件的行来逐行读取文件。我尝试重新创建您提供给我们的示例,并使用以下代码片段来解析具有多个无序键的字符串:
对数据格式进行很多假设。但是,如果数据的模式为NAME COLUMN_NAME: COLUMN_DATA, COLUMN_NAME: COLUMN_DATA
,则需要str.split()
来获取名称,str.split(', ')
来获取其他字段,str.split(': ')
来获取每个列名称和colun值。