【发布时间】:2017-11-23 11:21:14
【问题描述】:
我有一个由字符串组成的 Python 列表,其中包含属性地址和每个属性的多个属性。
'Date of Sale', 'January 1, 2017', 'Phone Number', '111-344-2343', 'Color', 'Brown', 'Garage Size', '2', 'Date Listed', 'September 23, 2016', 'Loan From', 'Example Mortgage Services', 'Street Address', '751 Example Drive', 'City', 'Chicago', 'Number of Windows', 'Attorney', 'Shaping LLP', 'Township', 'Dundee', 'Zip Code', '99999', 'List Price', '$83,301.87', 'Bid Amount', '$110,199.00', 'Miscellaneous', 'Long Driveway', 'Date of Sale', ...
这是一个“条目”。该列表在其余属性中以相同的模式继续(每个属性都以“销售日期”开头),但如果字段留空,它们将被完全跳过。例如,如果未进行出价,则“出价金额”后面会直接显示“杂项”,而不是金额。
目标是能够轻松解析信息。例如,我想列出所有我没有出价的房产。
主要问题是使用什么数据格式(class、列表、字典或数据框):
class Property(object):
def __init__(self,dateOfSale,phoneNumber...):
self.dateOfSale = 'dateOfSale'
self.phoneNumber = 'phoneNumber'
...
但我不确定如何利用它来获取有关多个属性的信息。
或
将有关每个属性的所有信息合并到一个list 项中。不过,我不确定您会如何查看这些信息。
或
使用地址作为键的dictionary,并将所有其他信息作为值,尽管这似乎也不容易重复。
或
使用 Pandas dataframe。我将不得不做更多的研究,但似乎“电子表格”数据在这种格式下效果很好。
【问题讨论】:
-
您的示例数据似乎有一个错误:没有与
"Number of Windows"键关联的值。这可能会破坏您尝试对其进行的任何解析。 -
感谢您的回复@Blckknght 我应该添加更好的评论。一些条目不包含与其关联的值,即使有一个键。如果任何字段没有答案(在本例中为“windows”),则列表中的下一项将只是下一个键。最终,目标是能够找到列表中没有某个键值的所有地址。
标签: list python-3.x class dictionary dataframe