read your first csv, and write with appropriate format with second csv
public static DataTable ParseCSV(string path)
{
if (!File.Exists(path))
return null;
string full = Path.GetFullPath(path);
string file = Path.GetFileName(full);
string dir = Path.GetDirectoryName(full);
string connString = "Provider=Microsoft.Jet.OLEDB.4.0;"
+ "Data Source=\"" + dir + "\\\";"
+ "Extended Properties=\"Text;Characterset=1252;HDR=Yes;FMT=Delimited('')\"";
string query = "SELECT * FROM " + "[" + file + "]";
DataTable dTable = new DataTable();
OleDbDataAdapter dAdapter = new OleDbDataAdapter(query, connString);
try
{
dAdapter.Fill(dTable);
}
catch (InvalidOperationException )
{ }
dAdapter.Dispose();
string strcellData = "";
foreach (DataRow dr in dTable.Rows)
{
foreach (var fieldValue in dr.ItemArray)
{
object cellData = fieldValue;
strcellData += cellData.ToString();
}
strcellData += Environment.NewLine;
}
System.Windows.Forms.MessageBox.Show(strcellData);
return dTable;
}
public void ExportCSV(string filepathName, string fileOut)
{
StringBuilder sb = new StringBuilder();
sb.AppendLine("Name,Mobile,Group");
DataTable dt = ParseCSV(filepathName);
foreach (DataRow row in dt.Rows)
{
for (int i = 0; i < dt.Columns.Count; i++)
{
sb.Append(row[i].ToString() + ",");
}
sb.Remove(sb.Length - 1, 1);
sb.Append(Environment.NewLine);
}
File.WriteAllText(fileOut, sb.ToString(), Encoding.Default);
}