我有一个选项卡分隔的文本文件,大约1.2 GB,我需要使用c#将其转换为CSV文件(逗号分隔)。 我必须插入批量数据到sqlserver,数据是在txt文件,这是选项卡分隔,但我希望它先转换为CSV,然后插入到SQL Server或有任何合适的方式来插入选项卡分隔的数据高效地转换到sql server数据库。如何将制表符分隔文件转换为CSV文件
回答
将制表符分隔文件导入Excel(或其他电子表格程序),然后将其导出为CSV。
这是一个很好的“框外”答案。唯一的另一种选择是读取整个文件,并使用逗号分隔标签保存一个新文件,以分离值。 –
如果你使用sqlserver,你应该看看SSIS(SqlServer集成服务)。这个工具将帮助你以有效的方式导入你的csv文件。您可以在此工具中配置分隔符,因此不需要用逗号替换选项卡。
我想出了这样其将在制表符:
using(System.IO.StreamReader rdr = new System.IO.StreamReader(@"C:\text.txt"))
{
int counter = 0;
string lne;
while((lne = rdr.ReadLine()) != null)
{
string[] temp = lne.Split('\t');
Console.WriteLine(temp[0]);
Console.WriteLine(temp[1]);
counter++;
}
}
Console.ReadLine();
后,你可以只使用StringBuilder来连接用逗号数组中的项目。
如果它的SQL Server 2005和上方,右键单击要导入并选择任务数据库,然后导入数据。指向您的制表符分隔文件,只需浏览其余的屏幕。在实际导入之前的最后一个屏幕上,您可以选择将其保存为SSIS程序包(复选框)。这是迄今为止最简单,快速和有效的方式(无需从制表符分隔到csv的转换)导入它,而无需编写任何代码,代码也可在向导的末尾使用,该向导可用于自动执行任务,如果需要。
默认情况下,SQL Server 2005中的BULK INSERT命令将使用选项卡作为字段分隔符,因此不需要将制表符分隔的文本文件转换为csv格式。
事实上,将其转换为真正的csv会让事情变得更加困难。 BULK INSERT不会将引号视为字符串分隔符,因此一个真正的csv文件具有在字符串某处用逗号括起的引号封装的字符串将会中断导入。
查看https://msdn.microsoft.com/en-us/library/ms188365(v=sql.90).aspx了解更多信息。
- 1. 转换制表符分隔文件为csv文件
- 2. 无法将制表符分隔的.txt文件转换为csv
- 3. 将文件(csv,excel,制表符分隔)转换为XML
- 4. 如何将制表符分隔的文件转换为CSV格式?
- 5. 转换制表符分隔的文件转换成CSV文件在C#
- 6. 将制表符分隔的文本文件转换为JSON
- 7. 转换文件,CSV的分隔符fomat
- 8. 将制表符分隔文件批量转换为xls
- 9. 将数据集转换为文本文件制表符分隔文件
- 10. 将Excel文件批量转换为制表符分隔的文本文件
- 11. 将字符串字段转换为分隔文件(.csv)
- 12. PHP将逗号分隔的字符串转换为CSV文件
- 13. 制表符分隔文本文件转换为XML(Javascript或PHP)?
- 14. 将xls文件转换为制表符分隔文件的异常
- 15. 将多个dta文件转换为Stata中的制表符分隔文件
- 16. 需要脚本来将逗号分隔文件转换为制表符分隔
- 17. 使用换行符作为分隔符将文件转换为CSV
- 18. 使用OpenOffice Calc打开Excel文件并转换为CSV或制表符分隔
- 19. 将.csv转换/分析为xlsx文件
- 20. 将纯文本文件转换为以管道分隔的CSV文件
- 21. 修改用于将XML转换为制表符分隔文本文件的XSLT
- 22. 如何将HSSFWorkbook转换为CSV文件..?
- 23. 如何将.rpt文件转换为csv
- 24. 将.xls文件转换为.csv文件?
- 25. 将.txt文件连接到带有制表符分隔符的csv文件
- 26. 如何输出CSV和制表符分隔文件随着SSRS
- 27. 如何索引使用solr制表符分隔的csv文件?
- 28. Python,将CSV文件转换为SQL表
- 29. 使用String.split()将文本分隔符分割为csv文件
- 30. 将制表符分隔的文本转换为数组
您是否考虑过使用Integration Services导入数据? –
@WadhawanVishal - 只需读取文件内容并使用逗号分隔值而不是制表符创建新文件。 –