如何将数据列b列y列写入csv文件

本文关键字:csv 文件 数据 | 更新日期: 2023-09-27 18:10:08

我有一个大问题写一些数据到csv文件。我有很多测量值。每个值都用名称、单位、值来描述。所以我想为每个值建立一个具有这三个属性的列。我想把它保存到csv文件中,像这样:

Width    Cell Wall Thickness   Coarseness   Curl-Index    etc.
mm           mm                    mg/m         %         etc.
16,2         3,2                  0,000       11,7        etc.

到目前为止,我正在为名称编写一个头,另一个用于单位和值(以前存储在字符串数组中),我只是在一行中编写。现在我的csv文件看起来是这样的:(

Width;Cell Wall Thickness;Coarseness;Curl-Index;etc.
mm;mm;mg/m;%;etc.
16,2;3,2;0,000;11,7;etc.

如果它不是很多值我不会关心这个,但有很多,所以当我打开CSV文件有问题,头不适合的值和单位。它没有组织,我无法将值与标题匹配。我希望所有的东西都按栏排列。任何帮助将是非常感激的!这就是我现在用的代码:

StreamWriter sw = new StreamWriter("test2.csv");
    int RowCount = 3;
    int ColumnCount = 4;
string[][] Transfer_2D = new string[RowCount][];
Transfer_2D[0] = new string[3]{"Width", "CWT", "Coarseness", "Curl-Index"};//name of the values
Transfer_2D[1] = new string[3] {"mm", "mm", "mg/m", "%"};   //units
Transfer_2D[2] = new string[3] { TransferData[0], TransferData[1], TransferData[2],    TransferData[3] };
for (int i = 0; i < RowCount; i++)
    {
        for (int j = 0; j < ColumnCount; j++)
        {
            sw.Write(Transfer_2D[i][j]);//write one row separated by columns
            if (j < ColumnCount)
            {
                sw.Write(";");//use ; as separator between columns
            }
        }
        if (i < RowCount)
        {
            sw.Write("'n");//use 'n to separate between rows
        }
    }
    sw.Close();
 }

如何将数据列b列y列写入csv文件

您可以将字符串设置为固定长度。看这里的例子:(。. NET使用固定空格格式化字符串)

int iWantedStringLength = 20;
string sFormatInstruction = "{0,-" + iWantedStringLength.ToString() + "}";
for (int i = 0; i < RowCount; i++)
    {
        for (int j = 0; j < ColumnCount; j++)
        {
            sw.Write(String.Format(sFormatInstruction, Transfer_2D[i][j]));//write one row separated by columns
            if (j < ColumnCount)
            {
                sw.Write(";");//use ; as separator between columns
            }
        }
        if (i < RowCount)
        {
            sw.Write("'n");//use 'n to separate between rows
        }
    }

对于CSV工作,我使用http://joshclose.github.io/CsvHelper/,这是一个非常好的助手类,但它需要您稍微改变一下您的工作。

我建议您创建一个类来存储每个条目,然后创建一个"Mapper"将其映射到csv字段。然后,您只需将对象集合和映射类传递给helper,它就会生成结构化的CSV。

那一页上有很多例子,所以对你来说应该很容易理解。