[Excel] Grote text file importeren

Pagina: 1
Acties:
  • 602 views sinds 30-01-2008
  • Reageer

  • EvdB
  • Registratie: November 2001
  • Laatst online: 15-06 15:19
Ik heb een hele grote text file die ik comma gescheiden importeer in Excel. Ik krijg dan een melding dat deze te groot is en de rest kan importeren via de wizard, maar ik zie niet hoe ik dat moet doen. Iemand een oplossing?
Het is een text bestand met bijna 2000 entries met verschillende breedte dus iedere keer de 100 kolommen selecteren en invoegen is een hels karwei.
Afbeeldingslocatie: http://home.hccnet.nl/e.vanden.broek/images/error.jpg

Verwijderd

2000 regels en 100 kolommen zou (makkelijk) moeten passen in excel. (ruimte is 65536 regels en 256 kolommen). Misschien gaat er wat anders fout.

je kunt het ook importeren in access en dan copieren naar excel

  • EvdB
  • Registratie: November 2001
  • Laatst online: 15-06 15:19
Ik heb ongeveer 50 regels en meer dan 2000 kolommen. Een voorbeeld van de regels is als volgt:

CarbonNum = 20, 12, 6, 2, 2, 8, 2, 4, 10, 10, 3, 3, 4, 2, 8, 9,
ChemAbsNum = 514103, 83329, 105577, 75070, 60355, 103844, 64197,

Ik kan dus lastig een gedeelte eruit kopieren, dat opslaan als CSV bestand en importeren.

Verwijderd

Misschien is het handig om het eerst te importeren in Access en van daar uit te
exporteren als CSV file?

  • EvdB
  • Registratie: November 2001
  • Laatst online: 15-06 15:19
Ik zal dat eens proberen. Kan ik dan ook gedeeltes opslaan als CSV?

  • Ravhin
  • Registratie: November 2002
  • Laatst online: 15:51

Ravhin

no <root>...

Verwijderd schreef op vrijdag 07 januari 2005 @ 11:00:
Misschien is het handig om het eerst te importeren in Access en van daar uit te
exporteren als CSV file?
De file die EvdB heeft ís al komma separated
:Z

Is het niet mogelijk om te transponeren, zodat je een CSV krijgt van 2000 regels en 50 kolommen? Anders wordt het wel erg lastig, ook om later mee te werken.

Er zijn wegen die niet moeten worden begaan, legers die niet moeten worden aangevallen, ommuurde steden die niet worden bestormd, gebieden die niet moeten worden betwist en orders van de commandant die niet moeten worden opgevolgd <Sun Tzu>


  • EvdB
  • Registratie: November 2001
  • Laatst online: 15-06 15:19
Ik heb nu in delphi een applicatie geschreven die mijn commagescheiden bestand inleest en transponeerd. (Ik kon geen freeware programma vinden die dat voor mij kon doen).
Nu is het alleen zo dat in sommige velden spaties staan en die ziet delphi ook als scheidingsteken. Ik gebruik hiervoor Stringlist.commatext Weet iemand hier iets op?

  • Maasluip
  • Registratie: April 2002
  • Laatst online: 16:03

Maasluip

Kabbelend watertje

EvdB schreef op vrijdag 07 januari 2005 @ 10:55:
Ik heb ongeveer 50 regels en meer dan 2000 kolommen.
Zoals gezegd, Excel heeft een limiet van 256 kolommen. Als je er meer hebt zal dat fout gaan.
Ik zou met VBA het file inlezen en een beetje formatteren. Dan nog zit je met de 256 kolommen limiet dus je zult niet een regel van het tekstfile op een regel in Excel kunnen zetten, daar moet je wat voor verzinnen.

Ik zie nu pas de laatste reply. Waarom in Delphi en niet in VBA? Dan heb je direkt een interface met Excel.
Maar goed, ik ken Delphi niet echt, maar kun je niet zoeken op een , (in VB in Instr) en daarmee de velden van elkaar scheiden?

[ Voor 21% gewijzigd door Maasluip op 14-01-2005 09:30 ]

Signatures zijn voor boomers.


Verwijderd

EvdB schreef op vrijdag 14 januari 2005 @ 09:12:
Ik heb nu in delphi een applicatie geschreven die mijn commagescheiden bestand inleest en transponeerd. (Ik kon geen freeware programma vinden die dat voor mij kon doen).
Nu is het alleen zo dat in sommige velden spaties staan en die ziet delphi ook als scheidingsteken. Ik gebruik hiervoor Stringlist.commatext Weet iemand hier iets op?
Wat is de code die je daarvoor gebruikt?
Misschien kun je beter het volgende doen:

//comma als scheidingsteken
Stringlist.Delimiter := ',';
//inlezen en omzetten
Stringlist.Delimitedtext := sText;

  • Falcon
  • Registratie: Februari 2000
  • Laatst online: 17:19

Falcon

DevOps/Q.A. Engineer

Misschien een minder charmante oplossing. Maar is het niet gewoon mogelijke dat dit TXT bestand in vieren op deeld... en dat je dus 4x keer moet importeren in Excel?

"We never grow up. We just learn how to act in public" - "Dyslexie is a bitch"


Verwijderd

maak je toch je eigen importprogje?
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Sub VeelKolommenImporteren()
  'verwijzing naar microsoft scripting host aanzetten
  Dim FSO As Scripting.FileSystemObject 'as object
  Dim Bestand As Scripting.TextStream ' as object
  Dim Lijntje As String
  Dim KolomNr As Integer
  Dim KolomVullen As Integer
  Dim Rij As Variant
  
  Set FSO = New Scripting.FileSystemObject
  Set Bestand = FSO.OpenTextFile("d:\mijnmap\mijnbestand")
  Do
    Lijntje = Bestand.ReadLine
    Rij = _
        Split _
          ( _
            Right _
              ( _
                Lijntje, _
                Len(Lijntje) - InStr(Lijntje, "=") _
              ), _
            "," _
          )
    Range("a1").Offset(0, KolomNr).Value = _
        Left(Lijntje, InStr(Lijntje, "="))
    For KolomVullen = 0 To UBound(Rij)
      Range("a2").Offset(KolomVullen, KolomNr).Value = _
          Rij(KolomVullen)
    Next
    KolomNr = KolomNr + 1
  Loop Until Bestand.AtEndOfStream
  Bestand.Close
  Set Bestand = Nothing
  Set FSO = Nothing
End Sub

Verwijderd

je kunt trouwens in Open Office wel *veel* kolommen importen.

Heb het ff geprobeerd met Open Office 1.1.3, en een text bestand met
+- 1000 kolommen. Excel wil idd niet importen.

Stappen:
- start open office werkblad
- open bestand, zet bestand filter op "Text CSV (*.csv, *.txt)" of zoiets
- je krijgt import scherm te zien, zet ook komma als scheidingsteken aan
- et voila!


Weer een voorbeeld dat als je iets niet met Microsoft Office kunt, je het altijd
ff met Open Office moet proberen :-)
(bijv ook met corrupte document)
Pagina: 1