我正在构建一个需要读取分隔文本文件的应用程序,并使用这些数据填充数据库(SQL Server)中的某些表。
我已将分隔符设置为:¬
我需要导入的文件中的数据示例:
OLD_CLASS¬OLD_NUM¬OLD_SUB_NUM¬NEW_CLASS¬NEW_NUM¬NEW_SUB_NUM ZETMODEM¬750000595588¬0¬ZETMODEM¬710000003092¬0 ZETMODEM¬750000991145¬0¬ZETMODEM¬750000003980¬0 ZETMODEM¬750000570809¬0¬ZETMODEM¬710000003092¬0 ZETMODEM¬750000493550¬0¬ZETMODEM¬750000000001¬0
最好(更简单)的方法是什么?
谢谢!
答案 0 :(得分:1)
分隔符的问题在于,您没有代码中的特定检查和界限。例如,您的数据显示不同步非常容易。例如,列不正确:
Example - Demonstration - Format
e - d - f
e - d
e - d - f
如果你做一个简单的split('-');
那么你本质上会错误地分裂。您需要创建一系列投影,以确保列和行数据正确匹配。这是一种简单的方法,但我不会详细说明您的数据的清理。
public class Row
{
public Row(string content)
{
var item = content.Split('-', StringSplitOptions.None);
Example = item[0];
Demonstration = item[1];
Format = item[2];
}
public string Example { get; set; }
public string Demonstration { get; set; }
public string Format { get; set; }
}
现在您已经有了分离行的方法,您只需在流上进行某种形式的阅读。然后在插入数据库时调用Row
。你也可以通过Linq,Sql和其他几种方法来做到这一点。