【发布时间】:2016-04-29 10:03:01
【问题描述】:
N 个 CSV 文件合并为一个文件。并且数据必须并排放置,像这样
DatTime_M1 Voltage Currency| Dattime_m2 Volage currency |.....DatTime_N Vol Curr
2016-04-29 237.1 3.54 2016-04-29 237.1 3.54 2016-04-29 237.1 3.54
2016-04-29 237.7 3.54 2016-04-29 237.1 3.54 2016-04-29 237.1 3.54
2016-04-29 236.4 3.54 2016-04-29 237.1 3.54 2016-04-29 237.1 3.54
2016-04-29 236.4 3.53 2016-04-29 237.1 3.54 2016-04-29 237.1 3.54
我已经编写了一个代码,而不是上面的合并,而是简单地合并或附加在同一行中。
string[] files = (Directory.GetFiles(txtConsolidated_OS_CSV.Text.Trim()));
foreach (var file in files)
{
StringBuilder sb = new StringBuilder();
string filename = Path.GetFileNameWithoutExtension(file);
if (file.EndsWith(".csv"))
{
string[] rows = File.ReadAllLines(file);
for (int i = 0; i < rows.Length; i++)
{
if (i == 0)
{
if (counter == 0)
{
sb.Append(rows[i] + "\n");
counter++;
}
}
else
{
sb.Append(rows[i] + "\n");
}
}
}
string csvfile = txtConsolidated_OS_CSV.Text + "\\Merged_OS.csv";
if (File.Exists(csvfile))
{
File.AppendAllText(csvfile, sb.ToString());
sb.Clear();
}
else
{
File.WriteAllText(csvfile, sb.ToString());
sb.Clear();
}
【问题讨论】:
-
好吧,作为人类你会怎么做呢?看着您的屏幕,不清楚您的 3 个文件应该如何以组合文件的形式到达,您是否需要内容 1,然后是内容 2,然后是 3.. 一个接一个,或者,您是否尝试从每个文件中获取字段文件并制作一个将所有 3 位信息捆绑在一起的宽文件>