Toon posts:

C# Inlezen CSV Bestand

Pagina: 1
Acties:
  • 781 views sinds 30-01-2008

Verwijderd

Topicstarter
Hallo,

Heeft iemand een idee om grote CSV bestanden in te lezen?
Het kan hier gaan om prijslijsten die tot 100 MB groot kunnen zijn.
Daarom moet ik een snelle en effectieve CSV reader bouwen..

Iemand tips?

  • MAX3400
  • Registratie: Mei 2003
  • Laatst online: 29-11 16:40

MAX3400

XBL: OctagonQontrol

Ik kan ook bestanden genereren die 100en MB's groot zijn. Maar ik denk dat het belangrijker is om te weten hoe ze zijn opgebouwd en dus welke mogelijkheden je hebt tot export/conversie.

Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof


  • ThunderNet
  • Registratie: Juni 2004
  • Laatst online: 21:29

ThunderNet

Flits!

MAX3400 schreef op donderdag 09 november 2006 @ 22:59:
Ik kan ook bestanden genereren die 100en MB's groot zijn. Maar ik denk dat het belangrijker is om te weten hoe ze zijn opgebouwd en dus welke mogelijkheden je hebt tot export/conversie.
CSV = Comma Seperated Value :) Althans ik neem aan dat de TS dat bedoeld.

Heb je liever vooraf, of achteraf, dat ik zeg dat ik geen flauw idee heb wat ik doe?


Verwijderd

Topicstarter
er zijn maximaal 15 kolommen en zijn allemaal TAB of ; gescheiden (ik weet niet of je dat bedoeld?)

ik moet overigens deze prijslijsten inlezen niet genereren

Verwijderd

Een CSV bestnad in lezen is eigenlijk vrij simpel.
- Lees een regel in
- Split deze regel op het scheidingteken
- verwerk ieder veld

Makkelijker kan niet, lijkt me

Verwijderd

Topicstarter
oke dat snap ik, maar hoe zit het dan met perfomance ?
en timeouts, etc ?

  • MAX3400
  • Registratie: Mei 2003
  • Laatst online: 29-11 16:40

MAX3400

XBL: OctagonQontrol

ThunderNet schreef op donderdag 09 november 2006 @ 23:00:
[...]

CSV = Comma Seperated Value :) Althans ik neem aan dat de TS dat bedoeld.
CSV is bekend; het ging meer om de inhoud...
Verwijderd schreef op donderdag 09 november 2006 @ 23:01:
er zijn maximaal 15 kolommen en zijn allemaal TAB of ; gescheiden (ik weet niet of je dat bedoeld?)

ik moet overigens deze prijslijsten inlezen niet genereren
Heb je Excel al geprobeerd of loop je dan tegen de limiet aan van het aantal rijen?

Heb je al geprobeerd om het via een conversie in een MySQL-database te trappen en daar een query op los te laten?

offtopic:
Ik weet dat we in programming zitten, maar zonder inhoudelijke structuur van een bestand kan je echt alle kanten op

[ Voor 10% gewijzigd door MAX3400 op 09-11-2006 23:12 ]

Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Beste Ruutert,

Hier in PRG verwachten we wel een klein beetje eigen initiatief en inzet; beide zie ik niet terug in je topic; allereerst mis ik wat je zelf al geprobeerd hebt. Je kunt natuurlijk makkelijk zelf even een joekel van een testbestand genereren met een paar regels code en daarna gewoon kijken of je CSV reader performant genoeg is. We kunnen wel gissen maar wat is "snel" voor jou? Of je gebruikers? Dan kun je alleen zelf beoordelen.

Daarnaast is je vraag nogal breed en zie ik niet wat voor specifiek antwoord je nu precies zoek. Er is zat code te vinden voor het lezen van een CSV bestand. Als dat niet voldoet, geef dan aan wat er aan mankeert en waar 'm het probleem in zit; wellicht dat we dan nog tips kunnen geven over hoe je de betreffende code kunt optimaliseren. Maar het gaat in PRG vooral over zélf programmeren/debuggen en daar zie ik helaas niets van in dit topic.

Als je specifieke vragen hebt over een stuk code waar je niet uit komt dan ben je hier van harte welkom, maar met dit topic kunnen we niet veel. Mocht je een nieuw topic (willen) openen, lees dan ook even de Programming Beleid Quickstart door voordat je dat doet ;)

Overigens wel nog een leuke tip: Je kunt met ODBC (of OLEDB) een CSV bestand benaderen alsof het een database is. Op die manier heb ik in het verleden wel eens joekels van CSV bestanden in "no-time" weten te processen/sorteren/overpompen/etc.

Onder de google resultaten tref je (1e hit :P ) deze pagina: http://blogs.worldnomads....chive/2004/03/19/207.aspx

Daar lees ik echter:
One thing to note though folks, the ODBC driver will attempt to work out the datatype automatically.
Dat is bij mijn weten niet helemaal waar; je kunt namelijk met een schema.ini ofzo ook nog specificeren welk veld welk type dient te zijn als ik het me correct herinner. Dat zul je dus effe moeten googlen hoe dat precies zat ;)

Edit:
Ik heb even 3 sec. gegoogled, en het resultaat maar 2 sec. bekeken, maar volgens mij is dit wel handig.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1

Dit topic is gesloten.