我必须创建Pricelist解析器,从excel或csv导入数据并将其放入数据库中。从源代码获取数据我没有问题。我需要自动找到包含价格,产品名称和描述的列。
您可以建议如何做到这一点,有共同的方法或库吗?
数据样本1:
Intel Core 2 Duo E6300 (2.80GHz, 1066MHz, 2MB, S775) tray | 83
Intel Core 2 Duo E6500 (2.93GHz, 1066MHz, 2MB, S775) tray | 86
数据样本2:
Title Description Guaranty Price
Intel Core 2 Duo E6300 | 2.80GHz, 1066MHz, 2MB, S775 | 12 | 83
Intel Core 2 Duo E6500 | 2.93GHz, 1066MHz, 2MB, S775 | 6 | 86
数据样本3:
UPC Title Price
456546545 | Intel Core 2 Duo E6300 | 83
4654654654 | Intel Core 2 Duo E6500 | out of stock
答案 0 :(得分:2)
答案 1 :(得分:0)
如果你使用的是SQL Server,我建议你不要创建一个程序,而是使用SQL Server Integration Services,它内置了对CSV和Excel的支持。
答案 2 :(得分:0)
根据输入的质量(所有输入字符串的格式均等),您可以尝试以下操作:
string s = "Intel Core 2 Duo E6300 (2.80GHz, 1066MHz, 2MB, S775) tray | 83";
string firstPart = s.Substring(0, s.IndexOf("(")).Trim(); //returns "Intel Core 2 Duo E6300"
string secondPart = s.Substring(s.IndexOf("(") + 1, s.IndexOf(")") - s.IndexOf("(") - 1).Trim(); //returns "2.80GHz, 1066MHz, 2MB, S775"
string thirdPart = s.Substring(s.IndexOf(")") + 1, s.IndexOf("|") - s.IndexOf(")") - 1).Trim(); //returns "tray"
string fourthPart = s.Substring(s.IndexOf("|") + 1, s.Length - s.IndexOf("|") - 1).Trim(); //returns "83"
但是当您的数据格式不统一时,您可能需要进行一些(或大量)检查才能使用上述功能。