Csharp/C#教程:在CSV文件中写入C#对象列表分享


在CSV文件中写入C#对象列表

我有一个C#对象有8个大小为200的数组元素。我需要将这些数组打印到相应标签上的CSV文件中。 数据可能包含string,int和double。

例如:

 时间1时间2日时间4时间4时间5时间6时间7  1 5 9 Mon 7.0 8 9 5 NA  2  3  3  。  。  200 200 200 Sun 200 200 200 200 200 

哎呀,time1等是标签(Header)数据(8个列表有200个元素)应该在这些标签下写入。 感谢您的回复!

您可以编写一个通用函数来编写对象:

public void WriteCSV(IEnumerable items, string path) { Type itemType = typeof(T); var props = itemType.GetProperties(BindingFlags.Public | BindingFlags.Instance) .OrderBy(p => p.Name); using (var writer = new StreamWriter(path)) { writer.WriteLine(string.Join(", ", props.Select(p => p.Name))); foreach (var item in items) { writer.WriteLine(string.Join(", ", props.Select(p => p.GetValue(item, null)))); } } } 

用作:

 var people = new List { new Person("Matt", "Abbott"), new Person("John Smith") }; WriteCSV(people, @"C:people.csv"); 

可能输出:

 Forename, Surname Matt", Abbott" John", Smith" 

假设您的数据都不需要逗号转义,这应该给您一个大致的想法:

上述就是C#学习教程:在CSV文件中写入C#对象列表分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 string[][] myArray = // your data string[] myHeaders = // your headers File.WriteAllText("somefile.csv", string.Join(Environment.NewLine, new[]{myHeaders}.Concat(myArray) .Select(line => string.Join(",", line)))); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/985472.html

(0)
上一篇 2021年12月21日
下一篇 2021年12月21日

精彩推荐