[英]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.