c# - 如何在 C# 中自动设置 CSV 文件中的标头属性
问题描述
我的程序经过硬编码以了解 CSV 文件的标题。
public class PeopleDataClass // here we say each value is going to be a property in my class
{
public string Name { get; set; }
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
}
然后使用它,我可以设置我想如何在另一个函数中将其更改为 JSON/XML,例如:
public static void turnCsvIntoXml() // XML Data
{
var csvData = File.ReadAllLines(@"C:example\PeopleData.csv");
XElement xml = new XElement("PeopleFromPersonData",
from str in csvData
let columns = str.Split(',')
select new XElement("People",
new XElement("Name", columns[0]),
new XElement("AddressLine1", columns[1]),
new XElement("AddressLine2", columns[2]))
);
Console.WriteLine(xml);
}
我的问题是如何自动设置这些属性,以便用户可以输入他们自己的文件位置(我已经设置了这个设置以将用户输入作为变量并使用它)。
因此,如果用户输入一个 CSV 文件,其标题为“国家、年份、年龄、母亲姓名”。我如何进行将标头设置为属性然后使用自动设置的属性将数据转换为 JSON/XML 的过程
解决方案
尝试以下:
public class PeopleDataClass // here we say each value is going to be a property in my class
{
public static List<string> headers { get; set; }
public List<string> row { get; set; }
}
推荐阅读
- javascript - 如何计算数据表中带有下拉列表选择的行组合数
- java - JButton 图标有点偏离
- c# - 写入 BMP 文件失败
- reactjs - material-ui Date Picker 将空值保存为 Redux Form 中的 Date(0)
- python - 按位置将数字从其他列转移到Python中的新列?
- reactjs - 是否可以将一个事件处理程序附加到 React 中的不同组件?
- ios - MapBox 导航剩余时间
- c++ - 从对向量中删除一对
- jquery - codeigniter 中的 Active Inactive 按钮
- php - 为什么我添加的所有内容都放在页面的右侧?