簡體   English   中英

如何解析CSV(逗號分隔文件)並顯示輸出

[英]How do I parse through a CSV (comma separated file) and display output

有誰知道我將如何創建一個應用程序,該應用程序將通過逗號分隔文件(CSV)進行組織,然后將該信息放入數據庫中? 例如,我必須瀏覽一個看起來像這樣的文件:

Name of Athlete, Birthday, Salary($)
John Morris, 9/25/1991, 5000000 
Mike Hawk, 2/2/1988, 1000000
Dewayne Johnson, 11/22/1985, 4000000

等等

我將如何組織這些信息並進行設置? 我正在努力做到這一點,所以我可以要求用戶輸入。 例如:讓用戶輸入“ a”作為薪水金額,並輸出所有賺取該確切金額的玩家。

玩家1的名字,玩家1的生日玩家2的名字,玩家2的生日

任何幫助表示贊賞。 我會很樂意幫助您閱讀信息並存儲/檢索它。

不要給我完整的答案。 我是一名學習此內容的學生,我想了解它。

我會考慮以下步驟:

  • 創建一個類以映射CSV中的數據。 例如,一個具有namebirthdaysalary屬性的Athlete類(由您定義每種數據類型)。
  • 讀取CSV文件。 您可以使用ScannerBufferedReader (使用FileReader )來完成此操作。
  • 對於每一行,請閱讀:
    • 用逗號(,)將字符串分成幾個字符串
    • 創建一個新的Athlete對象,並將每個字符串解析為一個屬性,以將其設置為對象。
    • 將新Athlete存儲在集合中( List或類似內容)。
  • 完成加載多個Athlete ,將它們保存到數據庫中。
  • 重復此過程,直到完成閱讀csv。

用逗號分割是處理CSV的一種幼稚方式。 除非您100%確定實際字段中永遠不會有逗號,否則請hello, my name is devshorts此路線,但是,如果您可能遇到像hello, my name is devshorts這樣的字符串hello, my name is devshorts ,則應該使用CSV庫。 http://opencsv.sourceforge.net/似乎是一個不錯的選擇。

完成后,將每個條目映射到代表一行的類。 制作一個Atheltes類,其中包含NameBirthdateSalary字段。

您可以使用與sqlite / mysql /任何數據庫的直接JDBC連接,並將值插入(使用原始SQL)到稱為Atheletes的表中。 如果要使用ORM,請與休眠一起使用,但這可能比您需要設置的工作還要多。

讀取此類文件的一種簡單方法是使用BufferedReader,它允許您逐行讀取文件。

然后使用split函數通過定界符分隔字符串並將其轉換為數組。

使用結果數組,您可以將數據插入數據庫,以根據需要進行適當的轉換。

暫無
暫無

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

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