我有幾個文本文件類型的數據,如產品信息,庫存,供應商信息等,他們都是不同的結構。沒有其他的標識符以外的結構本身的類型(沒有標頭,沒有文件名約定等)如何通過其結構來識別文本文件格式?
這些文件的一些例子:
(產品和股票)
2326 | 542212 | Bananas | 00023 | 1 | pack
2326 | 297875 | Apples | 00085 | 1 | bag
2326 | 028371 | Pineapple | 00007 | 1 | can
...
(產品和價格)
12556 Meat, pork 0098.57
58521 Potatoes, mashed 0005.20
43663 Chicken wings 0009.99
...
(產品和供應商 - 這裏N是分隔符)
03038N92388N9883929
28338N82367N2837912
23002N23829N9339211
...
(產品信息 - 多種類型行)
VIN|Mom & Pops|78 Haley str.
PIN|BLT Bagel|5.79|FRESH
LID|0239382|283746
... (repeats this type of info for different products)
其他幾人。 我想做一個函數來識別給定文件中的哪些類型,除了內容之外什麼也不用。 Google一直沒有幫助,部分原因是我不知道要使用哪個搜索字詞。不用說,「通過內容/結構來識別文件類型」沒有任何幫助,它只是給了我關於如何查找jpgs,pdf等的結果。如果我看到其他人編寫來處理類似問題的一些代碼會很有幫助。
我到目前爲止的想法是爲每個類型創建一個FileIdentifier類,然後當給定文件時嘗試解析它,如果它不起作用,則轉到下一個類型。但是,這似乎對我來說很容易出錯,而且我必須對很多信息進行硬編碼。另外,如果出現其他格式,並且與任何現有格式非常相似,但列中的信息不同,會發生什麼情況?