2015-08-19 52 views
-4

我想将动态的简化CSV文件转换为几个文件。如何动态地将csv文件拖到每个文件中

CSV headear H1 H2 H3 H4 H5 H6 H7 H8 H9

我选择H2和H4创建新的CSV文件(H2.csv和H4.csv)的所有数据都属于此列。

请给我一个很好的方法来做到这一点。

+1

你真的在等待有人来编写代码吗?至少要说明你已经尝试过的。 – Steve

+0

1.读取CSV文件的标题以允许用户选择他们想要导出到新文件的头文件 2.我认为使用数据表加载csv文件并循环导出选定的列 或者再次读取csv文件并逐行读取检查每一列是否被选中并写入新文件。 – Yuzike

回答

0

你应该告诉我们你的代码已经做了什么。这将是我们更好地帮助你:)

这里是一个尝试:

/// <summary> 
/// Get a subtab of a another by specifing the columns index 
/// </summary> 
/// <param name="tab">a list of lines of your tab</param> 
/// <param name="columns">the index of columns you want to keep (the order specified will match the result order of columns)</param> 
/// <returns>a list of selected columns</returns> 
public List<string[]> SubTab(List<string[]> tab, params int[] columns) 
{ 
    // add error handling here like verifying that specified columns exist in tab 

    var result = new List<string[]>(); 
    foreach (var line in tab) 
    { 
     var newLine = new string[columns.Length]; 
     for (int i = 0; i < columns.Length; i++) 
     { 
      newLine[i] = line[columns[i]]; 
     } 
     result.Add(newLine); 
    } 
    return result; 
} 
+0

谢谢 1.读取CSV文件的标题以允许用户选择他们想要导出到新文件2的标题。我认为使用数据表加载csv文件并循环导出选定的列或者再次逐行读取csv文件检查每一列是否被选中并写入新文件。 – Yuzike

相关问题