CSV文件到JSON,然后返回到CSV



我正在尝试创建一个页面,将读取CSV文件并创建JSON文件。我需要json中的两列。CSV包含15,000-30,000行。我需要JSON最多10000行,然后我要检查JSON对一个API。结果必须从原始文件中获取值,然后将其写入包含所有列的新CSV文件。

CSV文件如下所示:

number,"surname","forename","emailAddress","taxIdentifier"
101719008,"John","smith","smith@hotmail.com","1997xxxxxxxx"
102358612,"John","doe","doe@gmail.com","1993xxxxxxxx"

我有这个代码来读取CSV文件:

protected void Button2_Click(object sender, EventArgs e)
{
string saved = (@"E:TempSpelpausMalmö2022fromNeon.csv");
using (var streamreader = new StreamReader(saved))
using (var csvReader = new CsvReader(streamreader, CultureInfo.InvariantCulture))
{
var records = csvReader.GetRecords<RocketLaunch>().ToList();
}
}
public class RocketLaunch
{
public string number { get; set; }
public string surname { get; set; }
public string forename { get; set; }
public string emailAddress { get; set; }
public string taxIdentifier { get; set; }
}

我需要在JSON中开始,然后从CSV中获得2列(编号和taxidentifier),然后在末尾添加2个字符。

当我从API得到答案后,我需要从原始列表中找到数字,并从API中获得每个数字的所有列。

任何想法?

您已经定义了CSVEntry。解析为静态的,所以调用看起来像这样:

string line = rd.ReadLine();
CSVEntry entry = CSVEntry.Parse(line);

可以将entry添加到类型为List<CSVEntry>的列表中。一个问题可能是您的示例数据是逗号分隔的,但您的代码是用分号分隔的。

Split是一个让你快速开始的好方法,但我注意到有些字段被引用了,这意味着引号内的数据有可能包括逗号。多年前我写了自己的CSV解析器来处理这类事情,但我确信NuGet上一定有什么东西可以为你做这件事(寻找支持RFC 4180的东西)。

最新更新