繁体   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