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

  • FattySpins's channel

    FattySpins's

    17 Mayıs 2009
  • Jordie Jordan

    Jordie Jorda

    27 Ocak 2008
  • MyTiredBones

    MyTiredBones

    2 Temmuz 2013