簡體   English   中英

如何從Xamarin Forms中的定界文本文件(csv)中讀取

[英]How to read from a delimited text file (csv) in Xamarin Forms

我有一個以“ |”分隔的csv (不列顛哥倫比亞省我的價值觀中有逗號)。 我將文件導入PCL並將其內部版本設置為嵌入式資源,但是我不清楚如何讀取該文件並對其進行定界,等等。我找到了在線執行此操作的示例,但始終缺少某些功能,例如功能未定義的功能或不屬於Xamarin Forms的.NET的功能。 因此,如果有人可以鍵入一個非常簡單的循環來讀取csv,並以|分隔,然后將值放入數組中,那就太好了。 非常感謝!

在我測試過的幾個庫中,我可以在PCL項目中安裝Mike Stall的“ CsvTools ”。

樣本CSV文件:

Id|FirstName|LastName|IsRegistered
10248|George|Scheffer|true
10249|Linda|Watson|false
10250|John|Deyoe|false
10251|Amy|Bannister|true

假設在PCL根目錄中有一個名為“ users.csv”的文件,並將其BuilsAction設置為EmbeddedResource(就像您已經做的那樣):

這是將CSV文件的每一行轉換為它的模型:

public class User
    {
        public int Id { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public bool IsRegistered { get; set; }
    }

以下是讀取此CSV文件並獲取用戶集合的所有功能:

var assembly = typeof(MainPage).GetTypeInfo().Assembly;
Stream stream = assembly.GetManifestResourceStream("XFTest.users.csv");

var csvData = DataTable.New.ReadLazy(stream);
List<User> users = csvData.RowsAs<User>().ToList();

請注意,這里無需定義任何定界符,並且它適用於“ |”,如果它是逗號,則也可以使用。

暫無
暫無

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

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