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

  • BenjiManTV

    BenjiManTV

    20 Mart 2011
  • Facebook Developers

    Facebook Dev

    24 ŞUBAT 2009
  • Marques Brownlee

    Marques Brow

    21 Mart 2008