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

  • EmperorTigerstar

    EmperorTiger

    14 EYLÜL 2009
  • Hak5

    Hak5

    7 EYLÜL 2005
  • TheScorpioTechno

    TheScorpioTe

    15 Aralık 2010