我有一个由“|”分隔的csv (bc我的价值观中有逗号)。我将文件导入PCL并将其构建设置为嵌入式资源,但我不清楚如何读取此文件并分隔它等等。我已经找到了在线执行此操作的示例,但总是缺少某些功能,如功能未定义的或不属于Xamarin Forms的.NET的函数。因此,如果有人可以输入一个非常简单的循环来读取csv,用|分隔,并将值放入数组中,那就太棒了。非常感谢!
答案 0 :(得分:0)
在我测试的几个库中,我可以在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();
请注意,此处无需定义任何分隔符,它适用于“|”,如果它是逗号,它也可以使用。