Άνοιγμα αρχείων CSV με Preferred Parser

Εισαγωγή

Όταν ασχολείστε με αρχεία CSV, μερικές φορές θέλετε να χειριστείτε διαφορετικούς τύπους δεδομένων με προσαρμοσμένους αναλυτές. Αυτό το σεμινάριο θα σας καθοδηγήσει για το πώς να ανοίξετε αρχεία CSV με έναν προτιμώμενο αναλυτή χρησιμοποιώντας το Aspose.Cells για .NET. Είτε θέλετε να χειριστείτε κείμενο, ημερομηνίες ή άλλες προσαρμοσμένες μορφές, αυτός ο οδηγός θα σας καθοδηγήσει σε κάθε βήμα με μια σαφή εξήγηση.

Προαπαιτούμενα

Πριν βουτήξουμε στον κώδικα, ας καλύψουμε τα βασικά στοιχεία που χρειάζεστε για να ξεκινήσετε.

  1. Aspose.Cells for .NET Library: Βεβαιωθείτε ότι έχετε εγκαταστήσει τη βιβλιοθήκη Aspose.Cells. Μπορείτε να το κατεβάσετεεδώ . Μπορείτε επίσης να χρησιμοποιήσετε τη δωρεάν δοκιμήεδώ.
  2. Περιβάλλον ανάπτυξης .NET: Συνιστάται το Visual Studio, αλλά οποιοδήποτε IDE συμβατό με .NET θα λειτουργήσει.
  3. Βασικές γνώσεις C#: Αυτό το σεμινάριο προϋποθέτει ότι είστε εξοικειωμένοι με τη C# και τον αντικειμενοστραφή προγραμματισμό.

Εισαγωγή πακέτων

Για να χρησιμοποιήσετε το Aspose.Cells, θα χρειαστεί να εισαγάγετε τους απαραίτητους χώρους ονομάτων στο επάνω μέρος του αρχείου C#:

using System.IO;
using Aspose.Cells;
using System;

Τώρα που έχουμε ορίσει το στάδιο, ας δούμε πώς να ανοίξετε ένα αρχείο CSV με έναν προτιμώμενο αναλυτή, χειριζόμενος διαφορετικές μορφές δεδομένων, όπως κείμενο και ημερομηνίες.

Βήμα 1: Ορίστε προσαρμοσμένους αναλυτές

Για να χειριστείτε διαφορετικούς τύπους δεδομένων, όπως κείμενο ή συγκεκριμένες μορφές ημερομηνίας, πρέπει να ορίσετε προσαρμοσμένους αναλυτές. Στο Aspose.Cells, οι προσαρμοσμένοι αναλυτές υλοποιούν τοICustomParser διεπαφή.

1.1 Δημιουργήστε ένα πρόγραμμα ανάλυσης κειμένου

Αυτός ο αναλυτής χειρίζεται κανονικές τιμές κειμένου. Δεν τροποποιεί τη μορφή, επομένως η τιμή επιστρέφεται ως έχει.

class TextParser : ICustomParser
{
    public object ParseObject(string value)
    {
        return value;
    }
    public string GetFormat()
    {
        return "";
    }
}

ΟParseObject Η μέθοδος απλώς επιστρέφει την τιμή εισόδου. Είναι σαν να λες, “Μην αλλάξεις τίποτα, απλά δώσε μου το κείμενο!”

1.2 Δημιουργήστε έναν αναλυτή ημερομηνίας

Για ημερομηνίες, θα πρέπει να βεβαιωθείτε ότι τα δεδομένα CSV αναλύονται σωστάDateTime αντικείμενα. Δείτε πώς μπορείτε να δημιουργήσετε έναν αναλυτή ημερομηνιών:

class DateParser : ICustomParser
{
    public object ParseObject(string value)
    {
        DateTime myDate = DateTime.ParseExact(value, "dd/MM/yyyy", 
            System.Globalization.CultureInfo.InvariantCulture);
        return myDate;
    }
    public string GetFormat()
    {
        return "dd/MM/yyyy";
    }
}

Σε αυτόν τον αναλυτή, χρησιμοποιούμεParseExact για να διασφαλιστεί ότι η ημερομηνία ερμηνεύεται σωστά με βάση μια προκαθορισμένη μορφή ("dd/MM/yyyy"). Με αυτόν τον τρόπο, οποιαδήποτε ημερομηνία στο CSV σας που ακολουθεί αυτήν τη μορφή θα υποβληθεί σε επεξεργασία χωρίς προβλήματα.

Βήμα 2: Διαμόρφωση επιλογών φόρτωσης

Στη συνέχεια, πρέπει να ρυθμίσετε τον τρόπο φόρτωσης του αρχείου CSV. Αυτό γίνεται χρησιμοποιώντας τοTxtLoadOptions class, η οποία σας επιτρέπει να καθορίσετε επιλογές ανάλυσης, συμπεριλαμβανομένης της κωδικοποίησης και των προσαρμοσμένων αναλυτών.

2.1 Ρύθμιση επιλογών φόρτωσης

Θα ξεκινήσουμε αρχικοποιώντας τοTxtLoadOptions και καθορισμός βασικών παραμέτρων όπως ο διαχωριστής και η κωδικοποίηση:

TxtLoadOptions oTxtLoadOptions = new TxtLoadOptions(LoadFormat.Csv);
oTxtLoadOptions.Separator = Convert.ToChar(",");
oTxtLoadOptions.Encoding = Encoding.UTF8;
oTxtLoadOptions.ConvertDateTimeData = true;
  • Διαχωριστικό: Ορίζει τον χαρακτήρα που χρησιμοποιείται για τον διαχωρισμό τιμών στο αρχείο CSV (κόμματα, σε αυτήν την περίπτωση).
  • Κωδικοποίηση: Χρησιμοποιούμε κωδικοποίηση UTF-8 για να χειριστούμε ένα ευρύ φάσμα χαρακτήρων.
  • ConvertDateTimeData: Η ρύθμιση σε αληθές διασφαλίζει ότι οι τιμές ημερομηνίας θα μετατραπούν αυτόματα σεDateTime αντικείμενα όταν είναι δυνατόν.

2.2 Εφαρμογή προσαρμοσμένων αναλυτών

Στη συνέχεια, θα εκχωρήσουμε τους αναλυτές που δημιουργήσαμε νωρίτερα για να χειρίζονται τις τιμές στο CSV:

oTxtLoadOptions.PreferredParsers = new ICustomParser[] 
{ 
    new TextParser(), 
    new DateParser() 
};

Αυτό λέει στο Aspose.Cells να χρησιμοποιήσει τοTextParser για γενικές τιμές κειμένου και τοDateParserγια τυχόν πεδία ημερομηνίας που συναντά στο αρχείο CSV.

Βήμα 3: Φορτώστε και διαβάστε το αρχείο CSV

Τώρα που έχουν διαμορφωθεί οι επιλογές φόρτωσης, μπορείτε να φορτώσετε το αρχείο CSV σε έναAspose.Cells.Workbook αντικείμενο.

3.1 Φορτώστε το αρχείο CSV

Φορτώνουμε το αρχείο CSV περνώντας τη διαδρομή του αρχείου και το ρυθμισμένοTxtLoadOptions στοWorkbook κατασκευαστής:

string sourceDir = "Your Document Directory";
Workbook oExcelWorkBook = new Aspose.Cells.Workbook(sourceDir + "samplePreferredParser.csv", oTxtLoadOptions);

Αυτό το βήμα μετατρέπει τα δεδομένα CSV σας σε ένα πλήρως λειτουργικό βιβλίο εργασίας του Excel, με κάθε τιμή να αναλύεται σύμφωνα με τους κανόνες που προτιμάτε.

Βήμα 4: Πρόσβαση και εμφάνιση δεδομένων κυψέλης

Μόλις φορτωθεί το CSV στο βιβλίο εργασίας, μπορείτε να ξεκινήσετε να εργάζεστε με τα δεδομένα. Για παράδειγμα, μπορεί να θέλετε να εκτυπώσετε τον τύπο και την τιμή συγκεκριμένων κελιών.

4.1 Ανάκτηση και εμφάνιση κελιού A1

Ας ανακτήσουμε το πρώτο κελί (A1) και ας εμφανίσουμε την τιμή και τον τύπο του:

Cell oCell = oExcelWorkBook.Worksheets[0].Cells["A1"];
Console.WriteLine("A1: " + oCell.Type.ToString() + " - " + oCell.DisplayStringValue);

Εδώ, τοType Η ιδιότητα δείχνει τον τύπο δεδομένων (όπωςString ήDateTime ), καιDisplayStringValue σας δίνει τη μορφοποιημένη τιμή.

4.2 Ανάκτηση και εμφάνιση κελιού B1

Ομοίως, μπορούμε να ανακτήσουμε και να εμφανίσουμε ένα άλλο κελί, όπως το B1:

oCell = oExcelWorkBook.Worksheets[0].Cells["B1"];
Console.WriteLine("B1: " + oCell.Type.ToString() + " - " + oCell.DisplayStringValue);

Αυτή η διαδικασία μπορεί να επαναληφθεί για όσα κελιά χρειάζεται να επιθεωρήσετε.

Βήμα 5: Αποθηκεύστε το βιβλίο εργασίας

Αφού εργαστείτε με τα δεδομένα, ίσως θέλετε να αποθηκεύσετε το βιβλίο εργασίας σε ένα νέο αρχείο. Το Aspose.Cells το κάνει αυτό εύκολο με ένα απλόSave μέθοδος:

string outputDir = "Your Document Directory";
oExcelWorkBook.Save(outputDir + "outputsamplePreferredParser.xlsx");

Αυτό αποθηκεύει το βιβλίο εργασίας ως αρχείο Excel, διατηρώντας όλη τη μορφοποίηση και την ανάλυση δεδομένων που έχετε εφαρμόσει.

Σύναψη

Το άνοιγμα αρχείων CSV με έναν προτιμώμενο αναλυτή στο Aspose.Cells για .NET είναι ένας ευέλικτος και ισχυρός τρόπος χειρισμού διαφορετικών τύπων δεδομένων. Δημιουργώντας προσαρμοσμένους αναλυτές και διαμορφώνοντας τις επιλογές φόρτωσης, μπορείτε να διασφαλίσετε ότι τα αρχεία CSV αναλύονται ακριβώς όπως τα χρειάζεστε, είτε πρόκειται για κείμενο, ημερομηνίες ή άλλες προσαρμοσμένες μορφές. Με αυτό το σεμινάριο, είστε πλέον εξοπλισμένοι για να χειρίζεστε πιο σύνθετα σενάρια ανάλυσης δεδομένων στα έργα σας.

Συχνές ερωτήσεις

Ποιος είναι ο σκοπός των προσαρμοσμένων αναλυτών στο Aspose.Cells για .NET;

Οι προσαρμοσμένοι αναλυτές σάς επιτρέπουν να ορίσετε πώς θα πρέπει να αναλύονται συγκεκριμένοι τύποι δεδομένων, όπως κείμενο ή ημερομηνίες, κατά τη φόρτωση ενός αρχείου CSV.

Μπορώ να χρησιμοποιήσω διαφορετικό διαχωριστικό χαρακτήρα στο αρχείο CSV;

Ναι, μπορείτε να καθορίσετε οποιονδήποτε χαρακτήρα ως διαχωριστικό στοTxtLoadOptions.Separator ιδιοκτησία.

Πώς μπορώ να χειριστώ την κωδικοποίηση στο Aspose.Cells κατά τη φόρτωση ενός CSV;

Μπορείτε να ορίσετε τοEncoding ιδιοκτησία τουTxtLoadOptions σε οποιοδήποτε σχήμα κωδικοποίησης όπως UTF-8, ASCII κ.λπ.

Τι συμβαίνει εάν η μορφή ημερομηνίας στο CSV είναι διαφορετική;

Μπορείτε να ορίσετε τη συγκεκριμένη μορφή ημερομηνίας χρησιμοποιώντας έναν προσαρμοσμένο αναλυτή, διασφαλίζοντας τη σωστή ανάλυση των τιμών ημερομηνίας.

Μπορώ να αποθηκεύσω το βιβλίο εργασίας σε άλλες μορφές;

Ναι, το Aspose.Cells σάς επιτρέπει να αποθηκεύετε το βιβλίο εργασίας σε διάφορες μορφές όπως XLSX, CSV, PDF και άλλα.