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

  • Edgar flores

    Edgar flores

    7 HAZİRAN 2006
  • lilstevie89

    lilstevie89

    25 Mart 2011
  • FusioNGamiing

    FusioNGamiin

    10 Temmuz 2007