C# 如何使用filehelpers在CSV文件中存储数据?
我四处搜索,每个人都说用C处理CSV文件的最好方法是Filehelpers。但我一直在寻找,我找不到关于如何附加csv文件的全面指南。我有这门课:C# 如何使用filehelpers在CSV文件中存储数据?,c#,.net,csv,filehelpers,C#,.net,Csv,Filehelpers,我四处搜索,每个人都说用C处理CSV文件的最好方法是Filehelpers。但我一直在寻找,我找不到关于如何附加csv文件的全面指南。我有这门课: class FlashCard { public static string Front { get; private set; } public static string Back { get; private set; } public static Difficulty CardDifficulty { get; pr
class FlashCard
{
public static string Front { get; private set; }
public static string Back { get; private set; }
public static Difficulty CardDifficulty { get; private set; }
public enum Difficulty
{
easy,
medium,
hard,
very
}
public void Flashcard(string front, string back, Difficulty Difficulty )
{
Front = front;
Back = back;
CardDifficulty = Difficulty;
}
}
我想把它的实例保存在一个CSV文件中。但是怎么做呢?您必须已经有一个csv文件,然后您可以轻松地将该文件转换为您的实体,如闪存卡 请看一下快速入门
首先,您必须使用属性[DelimitedRecord,]标记您的类。您必须已经有一个csv文件,然后您可以轻松地将该文件转换为您的实体,如闪存卡 请看一下快速入门
首先,您必须使用属性[DelimitedRecord]标记您的类。要使用FileHelpers从类中写入CSV文件,请将您的类映射到描述CSV文件的“spec”类。像这样的
[DelimitedRecord(",")]
public class FlashCardCsvRow
{
public string Front;
public string Back;
public string CardDifficulty;
}
var flashcards = new List<FlashCard>(); // your class above
// populate flashcards however you like
var csvRows = flashCards.Select(x =>
new FlashCardCsvRow()
{
Front = x.Front,
Back = x.Back,
CardDifficulty = x.CardDifficulty.ToString();
});
var engine = new FileHelperEngine<FlashCardCsvRow>();
engine.WriteFile("Output.Txt", csvRows);
FileHelpers有很多很好的功能来帮助您进一步。例如,您可能希望实现而不是使用x.cardDemobility.ToString
顺便说一句,您在FlashCard中的静态属性会遇到麻烦。我不确定您是否打算将这些属性设置为静态。要使用FileHelpers从类中编写CSV文件,请将类映射到描述CSV文件的“spec”类。像这样的
[DelimitedRecord(",")]
public class FlashCardCsvRow
{
public string Front;
public string Back;
public string CardDifficulty;
}
var flashcards = new List<FlashCard>(); // your class above
// populate flashcards however you like
var csvRows = flashCards.Select(x =>
new FlashCardCsvRow()
{
Front = x.Front,
Back = x.Back,
CardDifficulty = x.CardDifficulty.ToString();
});
var engine = new FileHelperEngine<FlashCardCsvRow>();
engine.WriteFile("Output.Txt", csvRows);
FileHelpers有很多很好的功能来帮助您进一步。例如,您可能希望实现而不是使用x.cardDemobility.ToString
顺便说一句,您在FlashCard中的静态属性会遇到麻烦。我不确定您是否打算将这些属性设置为静态。您可以使用Linq2Csv库,它有一个处理csv文件的全面功能列表。您可以按照csv模式/标准手工创建csv格式,也可以使用可以为您创建csv格式的库/框架。您可以在线搜索执行此操作的库。CsvHelper是我知道的一个。您可以使用Linq2Csv库,它有一个处理csv文件的功能的全面列表。您可以按照csv模式/标准手工创建csv格式,也可以使用可以为您创建csv格式的库/框架。您可以在线搜索执行此操作的库。CsvHelper是我知道的一个。