0
每個CSV文件可以有超過1000個公共字段, 我們不能使用索引字段作爲可能無法在相同的順序, 字段可以在一個文件中沒有值,但可以在其他文件中的值。我們如何合併多個csv文件?
每個CSV文件可以有超過1000個公共字段, 我們不能使用索引字段作爲可能無法在相同的順序, 字段可以在一個文件中沒有值,但可以在其他文件中的值。我們如何合併多個csv文件?
您還沒有表明您正在使用什麼類型的應用程序...但我會做它在.NET和使用Dictionary對象。字典對象上的鍵將是字段名稱(這解決了你不是在相同的順序問題),每個字典項目的值將是一個字符串列表(CSV真正起源於字符串)。
然後,你可以列舉的詞典和同所有每個鍵的字符串變成你想要的任何格式。
這是不全面的測試......但應該讓你去:
private void ReadCSVFiles (string[] filenames)
{
Dictionary<string, List<string>> data = new Dictionary<string, List<string>>();
foreach (string filename in filenames)
{
string[] content = System.IO.File.ReadAllLines(filename);
string[] fieldNames = content[0].Split(',');
for (int i = 1; i < content.Length; i++)
{
string[] tokens = content[i].Split(',');
for (int j = 0; j < fieldNames.Length; j++)
{
List<string> values = null;
if (!data.TryGetValue(fieldNames[j], out values))
{
values = new List<string>();
data.Add(fieldNames[j], values);
}
values.Add(tokens[j]);
}
}
}
}
我要尋找一個解決方案,有可能在Unix上,可能會用awk或Python –
好運氣......我不能幫助你 –