Chuyển đổi hàng thành cột dựa trên ký tự

lập trình


Tôi muốn đầu ra bên dưới trong Bảng C# hoặc SQL

Văn bản tệp đầu vào
————–
~
MỘT
B
~
C
D

Văn bản đầu ra
————–
A~B
C~D

Những gì tôi đã thử:

string[] lines = File.ReadAllLines("D:\\InputFile.txt");
List<string> list = new List<string>();
foreach (var item in lines)
{
    if (item=="~")
    {

    }

}
list.ForEach(i => Console.WriteLine(i));

Giải pháp 1

Mặc dù chúng tôi rất sẵn lòng giúp đỡ những người đang gặp khó khăn nhưng điều đó không có nghĩa là chúng tôi ở đây để làm tất cả cho bạn! Chúng tôi không thể làm tất cả công việc, bạn sẽ được trả tiền cho việc này hoặc đó là một phần điểm số của bạn và sẽ không công bằng chút nào nếu chúng tôi làm tất cả cho bạn.

Và bạn chưa thực hiện bất kỳ công việc nào: chỉ thiết lập một khung thô có thể thực hiện công việc nếu bạn điền mã thực tế.

Vì vậy chúng tôi cần bạn thực hiện công việc và chúng tôi sẽ giúp đỡ bạn khi bạn gặp khó khăn. Điều đó không có nghĩa là chúng tôi sẽ cung cấp cho bạn giải pháp từng bước mà bạn có thể thực hiện!
Bắt đầu bằng cách giải thích hiện tại bạn đang ở đâu và bước tiếp theo trong quy trình là gì. Sau đó, hãy cho chúng tôi biết bạn đã cố gắng thực hiện bước tiếp theo như thế nào và điều gì đã xảy ra khi bạn thực hiện.

Nếu bạn gặp vấn đề khi bắt đầu thì điều này có thể hữu ích: Cách viết mã để giải quyết vấn đề, Hướng dẫn cho người mới bắt đầu[^]

Giải pháp 2

Thấy bạn bắt đầu thể hiện nỗ lực, tôi sẽ giúp. Lần sau hãy đăng thêm mã và giải thích, bạn sẽ nhận được nhiều câu trả lời hơn theo cách đó …

C#
static void Main()
    {
        string[] lines = File.ReadAllLines("D:\\InputFile.txt");
        List<string> list = new List<string>();

        //Start a string to hold the current line...
        string currentLine = "";

        foreach (var item in lines)
        {
            if (item == "~")
            {
                //Add the current line to the list when '~' sign is found...
                list.Add(currentLine);

                //Reset your current line for the next set of values...
                currentLine = "";
            }
            else
            {
                //Concatenate the current item to your current line...
                currentLine += item;
            }
        }

        //Add the last line to the list (assuming the file doesn't end with '~')...
        list.Add(currentLine);

        //Print your result...
        list.ForEach(i => Console.WriteLine(i));
    }

Giải pháp 3

FWIW nếu bạn muốn làm điều gì đó như thế này trong SQL …

Đây có thể là những gì bạn muốn:
Sử dụng PIVOT và UNPIVOT – SQL Server | Microsoft Tìm hiểu[^]

コメント

タイトルとURLをコピーしました