使用 C# 将文本文件转换为 CSV 文件 [关闭]

Posted

技术标签:

【中文标题】使用 C# 将文本文件转换为 CSV 文件 [关闭]【英文标题】:Convert a Text File into a CSV File with C# [closed] 【发布时间】:2013-04-16 19:46:02 【问题描述】:

我有一个制表符分隔的 txt 文件,如下所示:

Well       Name       Detector      Task    Quantity
1          try1       Cam1          UNKN    0
2          try2       Cam1          UNKN    0
3          try3       Cam3          STND    1000
4          try4       Cam5          UNKN    0
5          try5       Cam6          UNKN    0
6          try6       Cam6          UNKN    0
....
92         try92      Cam4          STND    100

我需要从此 TXT 文件中输出一个 CSV 文件。 在输出的 CSV 文件中,我需要将分隔符从 Tab 更改为分号,我只需要前两列。

我将文本文件放在一个数组中:

string [] source....

也可以跳过一些我不需要的标题行,

但现在我被困在如何继续下去。

我知道 StreamReader 和 StreamWriter,但我不知道如何使用它们来完成我的任务。

任何帮助将不胜感激。

谢谢!

【问题讨论】:

您为什么不向我们展示您到目前为止所做的工作,以便我们帮助您找出问题所在? 第 1 步:解析 CSV:***.com/questions/2081418/…。第 2 步:使用 StreamWriter 或其他东西创建文本文件。 啊,这是一个巨大的差异。尝试转换它怎么样?还是您希望我们为您做这些? @user1776401:真的,不要偷懒。研究、尝试、思考、开发 我一点也不懒。我整天都在努力做到这一点。而且我不希望任何人代替我做某事...但是...如果这是我能在这里得到的最佳建议...我可以独自获得它而无需发布任何内容。发布对其他人有帮助,没有一些无用的评论,因为我一直在网上搜索一些提示但没有找到任何提示。 【参考方案1】:

希望这能给你一些想法,所以试着理解每个部分。

string[] lines = System.IO.File.ReadAllLines(YOUR INPUT FILE);

StringBuilder builder = new StringBuilder();

foreach (string line in lines)

    var temp = line.Split('\t');
    builder.AppendLine(string.Join(";", temp[0], temp[1]));
    //builder.AppendLine(string.Format("0; 1", temp[0], temp[1]));


System.IO.File.WriteAllText(YOUR OUTPUT FILE, builder.ToString());
File.ReadAllLines:将文件的所有行读入string[] File.WriteAllText:将字符串写入文件。 StringBuilder:这个类代表一个类似字符串的对象。 AppendLine:向StringBuilder 实例添加一个字符串行。 string.Format:将指定字符串中的每个格式项替换为对应对象值的等效文本。 More

【讨论】:

那么关键不是读取数组中的文本文件,而是读取列表中的文本文件。我需要更好地理解完成这项工作的行:“builder.AppendLine ...”。关于 1...它有什么作用? @user1776401 你可以将它读入一个数组。 你在重新发明***。可能不需要自己解析 CSV 文件。 @L-Three 如果您发布您的解决方案,我们将不胜感激。 侯赛因·纳里马尼·拉德,真的……谢谢!阅读一些代码总是最好的学习方式,IMO。你能发布在数组中读取 txt 的方法吗?

以上是关于使用 C# 将文本文件转换为 CSV 文件 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

批量将CSV文件转换为十六进制文件[关闭]

使用 C# 将 csv 文件转换为 json

C# 将 csv 转换为 xls(使用现有的 csv 文件)

在c#中将XML文件转换为csv文件格式

使用 Python 将 NetCDF 文件转换为 CSV 或文本

在将数据输入 FFT 用于音频频谱分析仪之前,使用 python 将 wav 文件转换为 csv 文件 [关闭]