C# (C)解析imdb';配乐。列表';到csv

C# (C)解析imdb';配乐。列表';到csv,c#,csv,imdb,C#,Csv,Imdb,我刚从下载了soundtracks.list文件,需要帮助使用C#将其转换为csv文件。我读过关于imdbpy的书,但对python一无所知 soundtracks.list的结构如下所示: # #1 Cheerleader Camp (2010) (V) - "Drop Dat Booty" Performed by Ken Cain and Ben Forman Written and Produced by Ken Cain and Ben Forman - "Endless Vi

我刚从下载了soundtracks.list文件,需要帮助使用C#将其转换为csv文件。我读过关于imdbpy的书,但对python一无所知

soundtracks.list的结构如下所示:

# #1 Cheerleader Camp (2010) (V)
- "Drop Dat Booty"
  Performed by Ken Cain and Ben Forman
  Written and Produced by Ken Cain and Ben Forman
- "Endless View"
  Written and Produced by Sterling
  Performed by Darlings of the Day

# #2 Chick (2014)
- "Number 1 Chick and Number 2 chick by D Player"

# Star Wars (1977)
- "Star Wars (Main Theme)" (uncredited)
  Written by John Williams
  Performed by London Symphony Orchestra
- "The Hologram/Binary Sunset" (uncredited)
  Written by John Williams
  Performed by London Symphony Orchestra
我需要将其转换为以下格式:

movie,song,info
"#1 Cheerleader Camp (2010) (V)","Drop Dat Booty","Performed by Ken Cain and Ben Forman Written and Produced by Ken Cain and Ben Forman"
"#1 Cheerleader Camp (2010) (V)","Endless View","Written and Produced by Sterling Performed by Darlings of the Day"
"#2 Chick (2014)","Number 1 Chick and Number 2 chick by D Player",""
"Star Wars (1977)","Star Wars (Main Theme) (uncredited)","Written by John Williams Performed by London Symphony Orchestra"
"Star Wars (1977)","The Hologram/Binary Sunset (uncredited)","Written by John Williams Performed by London Symphony Orchestra"

像这样的事情应该让你开始。但在未来,首先尝试找到解决方案,然后提出具体问题。这里会有很多人试图帮助你;)

祝C#好运


你的具体问题是什么?“我需要帮助”通常不是一个好问题,我需要关于如何做的帮助。你试过做什么吗?似乎你是在要求别人帮你做,而不是帮助你如何做。
using System.IO;

namespace ConsoleApplication1
{
    class Program3
    {
        static void Main(string[] args)
        {
            using (var writer = new StreamWriter("output.csv"))
            using (var reader = new StreamReader("input.txt"))
            {
                writer.WriteLine("movie,song,info");

                string movie = "";
                string song = "";
                string info = "";

                while (!reader.EndOfStream)
                {
                    string line = reader.ReadLine();

                    // movie
                    if (line.StartsWith("# "))
                    {
                        // forget previous song & info
                        song = "";
                        info = "";
                        // remember movie
                        movie = line.Substring(2);
                    }
                    // song
                    else if (line.StartsWith("- "))
                    {
                        // write song info to csv
                        if (song != "")
                        {
                            writer.WriteLine("\"" + movie + "\", \"" + song + "\", \"" + info + "\"");
                        }
                        // forget previous song info
                        info = "";
                        // remember song
                        song = line.Substring(2);
                    }
                    // song info
                    else if (line.StartsWith("  "))
                    {
                        // remember info
                        if (info != "")
                        {
                            info += "";
                        }
                        info += line;
                    }
                    // end of movie
                    else if (line == "")
                    {
                        // write song info to csv
                        if (song != "")
                        {
                            writer.WriteLine("\"" + movie + "\", \"" + song + "\", \"" + info + "\"");
                        }
                        // forget movie, song & info
                        movie = "";
                        song = "";
                        info = "";
                    }
                }

                // write song info to csv
                if (song != "")
                {
                    writer.WriteLine("\"" + movie + "\", \"" + song + "\", \"" + info + "\"");
                }

                writer.Flush();
                writer.Close();
            }
        }
    }
}