我正在尝试从assets文件夹引用文件文件,该文件夹是预加载的数据库。我需要帮助修复文本文件,以便我可以将它放入资源文件夹以在SQLite中引用它们。我已经按照教程来引用assets文件夹中的数据。如果我能让列正确,我相信我能够完成。语言,Java。
https://www.ars.usda.gov/Services/docs.htm?docid=23634
这是我收到数据的网站。我正在使用ASCII的缩写版本。我从ASCII下载下面的Excel文件中获得了标题。
这些是我从excel文件中获取的列名,我想从下面的代码段中标记数据。
“ - ”=每个标题/标签的分隔符。
-NDB_No -Shrt_Desc -Food_Folate_(μg)-Folate_DFE_(μg)-Choline_Tot_(mg)-Vit_B12_(μg)-Vit_A_IU -Vit_A_RAE_(μg)_-Rheinol_(μg)-Alpha_Carot_(μg)-Beta_Carot_(μg) -Beta_Crypt_(μg)-Lycopene_(μg)-Lut + Zea_(μg)-Vit_E_(mg)-Vit_D_μg-Vit_D_IU -Vit_K_(μg)-FA_Sat_(g)-FA_Mono_(g)-FA_Poly_(g)-Cholestrl_(mg )-GmWt_1 -GmWt_Desc1 -GmWt_2 -GmWt_Desc2 -Refuse_Pct
这是每个条目格式化的片段 这是文本文件中的第一行代码。我不知道如何以这种格式/一般地给每个类别标题。
~16200~^~CAMPBELL'S BRN SUGAR&BACON FLAV BKD BNS~^69.40^123^3.85^1.92^1.75^23.08^6.2^10.00^31^1.11^^^^362^^^^^0.0^^^^^^^^^^^^0^^^^^^^^^^^^0.385^^^4^130^~.5 cup~^130^~1 serving~^0
如果您需要更多信息,我会尽快回复。 感谢帮助。
答案 0 :(得分:1)
就我个人而言,我认为你的问题太宽泛而不能得到一个好的答案,特别是因为分隔文件的格式可能是我见过的最奇怪的。
我建议的唯一方法是做类似于我使用CSV文件的方式,只需将列名作为第一行添加到文件中。实施例...
假设您想拥有一个带有唯一ID,姓名和电话号码的联系人的CSV文件,您可以按如下方式创建该文件...
_id,first_name,last_name,phone_num
1,John,Smith,12345678
2,Bill,Jones,23456789
处理CSV文件时,您只需单独处理第一行,将其拆分为列名,并将这些列添加为SQLite数据库表中的列。从那时起,您将每一行视为每行的数据。
CSV传统上代表逗号分隔变量,这是我所展示的,但是现在它通常用于引用字符分隔变量,其中任何字符都可以用于分隔符。这是由插入符号(^)分隔的字段(列)所具有的。为列名添加第一行时,通常使用相同的分隔符,因此可以使用相同的代码对其进行解析。