SORU
17 AĞUSTOS 2010, Salı


Okuma csv dosyası

Ve bir CSV dosyasını okumak, göstermek DataGrid neden ve başka bir kılavuz CSV dosyası bozuk satırları göstermek için basit alma uygulaması gereken yazıyorum. Örneğin, başka bir kılavuz 5 değerleri daha kısa olan satırları göster. Bu öyle yapmaya çalışıyorum:

StreamReader sr = new StreamReader(FilePath);
importingData = new Account();
string line;
string[] row = new string [5];
while ((line = sr.ReadLine()) != null)
{
    row = line.Split(',');

        importingData.Add(new Transaction
        {
            Date = DateTime.Parse(row[0]),
            Reference = row[1],
            Description = row[2],
            Amount = decimal.Parse(row[3]),
            Category = (Category)Enum.Parse(typeof(Category), row[4])
        });
}

ama çok zor bu durumda diziler üzerinde çalışır. Herhangi bir iyi bir yol değerleri bölmek var mı?

CEVAP
18 AĞUSTOS 2010, ÇARŞAMBA


Tekerleği yeniden icat yok. Zaten ne faydalanın .NET BBA.

  • Microsoft.VisualBasic başvuru Ekle (Evet, VisualBasic diyor ama C de işe yarar,# de - sonunda sadece İL olduğunu unutmayın)
  • Microsoft.VisualBasic.FileIO.TextFieldParser sınıf CSV dosyasını ayrıştırmak için kullanın

İşte örnek kod:

using (TextFieldParser parser = new TextFieldParser(@"c:\temp\test.csv"))
{
    parser.TextFieldType = FieldType.Delimited;
    parser.SetDelimiters(",");
    while (!parser.EndOfData) 
    {
        //Processing row
        string[] fields = parser.ReadFields();
        foreach (string field in fields) 
        {
            //TODO: Process field
        }
    }
}

Benim C benim için harika çalışıyor# projeleri.

Burada biraz daha bağlantılar/bilgiler:

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Anthony Le

    Anthony Le

    10 EKİM 2006
  • mipd1980

    mipd1980

    25 EKİM 2006
  • sdasmarchives

    sdasmarchive

    2 HAZİRAN 2010