gpt4 book ai didi

c# - 使用 StreamWriter 从文本文件读取并将其写入另一个文本文件,以逗号分隔的格式

转载 作者:太空宇宙 更新时间:2023-11-03 17:32:41 24 4
gpt4 key购买 nike

我正在尝试将从一个文本文件读取的数据写入另一个文本文件,并以逗号分隔的格式写入。我需要知道代码是什么才能得出这个结论。这是我需要帮助的地方。

例子:

原始数据如下所示:

Agnico-Eagle Mines
COM
008474108
28996843
716800
716800
N/A
N/A

N/A
716800
N/A
Agrium Inc.
COM
008916108
145739616
1646617
1646617
N/A
N/A

N/A
1646617
N/A
AuRico Gold Inc
COM
05155C105
504505
62875
62875
N/A
N/A

N/A
62875
N/A

这就是我希望数据在 RichTextBox 中的样子:

Agnico-Eagle Mines,COM,008474108,28996843,716800,716800,N/A,N/A,,N/A,716800,N/A
Agrium Inc.,COM,008916108,145739616,1646617,1646617,N/A,N/A,,N/A,1646617,N/A
AuRico Gold Inc,COM,05155C105,504505,62875,62875,N/A,N/A,,N/A,62875,N/A

正如你从原始文本数据中知道的那样,我想阅读第一行,然后添加一个逗号,然后阅读第二行,将其附加到第一行,然后添加一个逗号,这是第一个 12线。第 12 行末尾没有逗号。然后该过程重新开始。

欢迎提供任何信息。

谢谢。

下面是我到目前为止编写的代码。

    private void button1_Click(object sender, EventArgs e)
{
using (StreamReader Reader = new StreamReader(@"C:\Original_Text_File.txt"))
{
while (!Reader.EndOfStream)
{
TextBox1.AppendText(Reader.ReadLine());
}

}

}

private void button2_Click(object sender, EventArgs e)
{
using (StreamWriter Writer = new StreamWriter(@"C:\Original_Text_File.txt"))
{

Writer.WriteLine(TextBox1.Text);

}
}

最佳答案

这是我读取数据的方式:

        var sbText = new System.Text.StringBuilder(10000);
// Keeps track of your current position within a record
int wCurrLine = 0;
// Number of rows in the file that constitute a record
const int LINES_PER_ROW = 12;

using (StreamReader Reader = new StreamReader(@"C:\Original_Text_File.txt"))
{
while (!Reader.EndOfStream)
{
// If we are not on the first row in the record, add a comma
if (wCurrLine != 0)
{
sbText.Append(",");
}
// Add the text
sbText.Append(Reader.ReadLine());

// Increment our current record row counter
wCurrLine++;
// If we have read all of the rows for this record
if (wCurrLine == LINES_PER_ROW)
{
// Add a line to our buffer
sbText.AppendLine();
// And reset our record row count
wCurrLine = 0;
}
}
// When all of the data has been loaded, write it to the text box in one fell swoop
TextBox1.Text = sbText.ToString();

编辑:我刚刚意识到我没有完全回答原始问题:没有理由使用文本框,除非您想在写出结果之前查看结果。如果您不需要这样做,您可以替换该行:

            TextBox1.Text = sbText.ToString();

与:

        using (StreamWriter Writer = new StreamWriter(@"C:\Original_Text_File.csv"))
{
Writer.Write(sbText);
}

(注意文件名中扩展名的变化)。

关于c# - 使用 StreamWriter 从文本文件读取并将其写入另一个文本文件,以逗号分隔的格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14076565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com