Permalänk
Medlem

C# .csv fil

Hej Kära Sweclockare!

Tänkte höra med er om någon vet hur kodning kan se ut om man ska läsa av .csv fil till C#?

Tacksam för all hjälp.

Permalänk
Hedersmedlem

Kanske räcker det att läsa en rad i taget och köra string.Split() med komma, semikolon eller vad man nu har för avgränsare?

Permalänk
Medlem
Skrivet av Elgot:

Kanske räcker det att läsa en rad i taget och köra string.Split() med komma, semikolon eller vad man nu har för avgränsare?

Skulle gärna vilja se hur en sådan kodning kan se ut, jag vill läsa flera hundra rader dock en rad åt gången.

Tack

Permalänk
Medlem

Läs den med en StringReader http://msdn.microsoft.com/en-us/library/system.io.stringreade...

Använd ReadLine , splita varje rad, arbeta med den o.s.v.

Inte vidare svårt.

Visa signatur

Speldator: Ryzen 7800X3D, 64GB DDR5, RTX 3070
Server: i7-8700k, 32GB DDR4, RTX2080
Steam deck + de fiesta konsoller.

Permalänk
Hedersmedlem

Eller kanske StreamReader.

System.IO.StreamReader s = new System.IO.StreamReader("u.csv"); char[] sep = new char[] {','}; //eller kanske semikolon while (!s.EndOfStream) { var q = s.ReadLine().Split(sep); }

Permalänk
Medlem
Skrivet av MugiMugi:

Läs den med en StringReader http://msdn.microsoft.com/en-us/library/system.io.stringreade...

Använd ReadLine , splita varje rad, arbeta med den o.s.v.

Inte vidare svårt.

Har svårt att förstå mig på while satsen

Permalänk
Skrivet av Zowaa:

Har svårt att förstå mig på while satsen

Elgots kod funkar. Den läser en rad i taget genom hela streamen

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Permalänk
Medlem

Värt att notera är också att CSV-filer inte alltid är så enkla att läsa som man kan tro.

För att läsa lite mer om "dynamiken" i CSV-er så kommer här en länk till wikipedia om Comma-separated_values

//C

Permalänk
Medlem
Permalänk
Medlem

Att bara splitta på delimitern funkar inte om det finns strängar som innehåller delimitern. Kolla in LINQ-to-CSV om du har behov av att läsa CSV-filer på ett säkrare sätt. Det finns enkla kod-exempel på sidan.

Visa signatur

Bra, snabbt, billigt; välj två.

Ljud
PC → ODAC/O2 → Sennheiser HD650/Ultrasone PRO 900/...
PC → S.M.S.L SA300 → Bowers & Wilkins 607