簡體   English   中英

將數據存儲在平面文件中

[英]Storing data in flat files

我有兩個奇怪的格式的數據文件。 需要將其解析為某種下降格式,以用於將來使用。 解析后,我最終得到兩種格式,其中一種具有ID,並且與該ID有關的信息將來自另一文件。

例如:從文件1我得到

名稱,位置,PropertyID

來自文件2 PropertyId,Property1,Property2

像這樣我有兩個文件的更多列。

將這些信息以平面文件存儲到服務器作為數據庫的空閑方式是什么? 由於某種原因,我不想使用數據庫(Mysql,MsSql)。

最初我想到使用單個逗號分隔的文件。 但是我最終會使用太多的列,當我更新這些信息時會產生問題。

我將在其他使用Java和python的應用程序中使用已解析的數據,任何人都可以提出更好的方法來解決此問題

謝謝

我會使用JSON。 JSON可以輕松地在Python或Java對象之間來回轉換。 在Python中,JSON直接映射到dict。 Java具有多種轉換功能。 比自己做的事少得多。 對於Java,請參閱JAXB。

這樣的事情。

文件1:將人員映射到propertyID

{
   {"firstName": "John", "lastName": "Smith", "position": "sales"} : 123},
   {"firstName": "Jane", "lastName": "Doe", "position": "manager"} : 456} 
}

文件2:將propertyId映射到屬性列表。

{
    {123: [{"address": "123 street", "city": "LA"}, {"address": "456 street", "city": "SF"}] } ,
    {456: [{"address": "123 ave", "city": "XX"}, {"address": "456 ave", "city": "SF"}] } 
}

ps將一個人與一個屬性ID列表相關聯,並讓每個屬性都有其自己的ID可能更有意義。 更輕松地移動和重新分配。 只是我的$ 0.02。

確保使用ID對數據進行規范化,即使僅做一次更改,也可以避免涉及這么多不同的數據列。 就像您上面提到的file2一樣,您可以通過僅具有propertyId和property列將列減少為兩列。 在上面的示例中,您將沒有1個propertyId與2個屬性相關聯,而是將1個propertyId與1個屬性相關聯。 您需要另一個文件來關聯兩個主數據表。 這樣對數據進行規范化可以使更改發生時對它們的更新非常少。

文件1:

owner_id | 名稱| 位置|
1 | 馬雲| 總裁|

文件2:

property_id | 物業|

101 | 好萊塢大廈|

102 | 邁阿密海濱別墅

文件3:

OwnerId | PropertyId |

1 | 101

1 | 102

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM