用于CSV文件的StreamReader ReadLine()

问题描述 投票:0回答:1

我正在尝试使用此代码创建列表。在NewCrime转换步骤中失败。不确定如何使用流阅读器。这是我的第一次,我通常使用SQL,所以我试图做与在这里阅读SQL相同的事情。

列出MasterCrimeList;

    public List<Crime.Crime> GetList()
    {
        MasterCrimeList = new List<Crime.Crime>();

        try
        {

            string path = @"F:\\FanshaweCollegeClasses\\Winter2020\\CLAYS_FINAL_EXAM_2020\\VANHEESfinalEXAM\\SacramentocrimeJanuary2006.csv";
            if (File.Exists(path))
            {
                // Open the file to read from.
                using (StreamReader sr = File.OpenText(path))
                {
                    string s;
                    while ((s = sr.ReadLine()) != null)
                    {

                        Crime.Crime NewCrime = new Crime.Crime(Convert.ToString(s[0]),//CrimeDateTime
                                              Convert.ToString(s[1]),//CrimeAddress
                                              Convert.ToInt32(Convert.ToString(s[2])),//CrimeDistrict
                                              Convert.ToString(s[3]),//CrimeBeat
                                              Convert.ToInt32(Convert.ToString(s[4])),//CrimeGrid
                                              Convert.ToString(s[5]),//CrimeDescription
                                              Convert.ToInt32(Convert.ToString(s[6])),//ncicCode
                                              decimal.Parse(Convert.ToString(s[7])),//Latitude DECIMAL
                                              decimal.Parse(Convert.ToString(s[8])));//Longitude DECIMAL

                        MasterCrimeList.Add(NewCrime);

                    }
                }
            }
        }
c# readline streamreader
1个回答
0
投票

[执行s[0]时,您只读取整行的一个字符。您应该做的是基于使用Split()存储值的方式来分割每行,然后可以将每个值作为数组访问。如果是csv文件:

Split()
© www.soinside.com 2019 - 2024. All rights reserved.