Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

CSV-info gedeeltelijk "draaien"

Pagina: 1
Acties:

  • wdekreij
  • Registratie: December 2002
  • Laatst online: 06-08-2024

wdekreij

Dubbelzinnig

Topicstarter
Na een tijd in Excel te hebben geworsteld, m'n hersenen erover heb gebroken en Google de meest onmogelijke zoekacties heb laten uitvoeren heb ik besloten de hulp van de mede-GoTers in te schakelen :)

Ik heb een bepaalde .csv-file die ik graag anders gepositioneerd wil zien te krijgen, maar tot op heden tevergeefs. Met geen mogelijkheid krijg ik het in Excel in elkaar, en van programmeren heb ik te weinig kaas gegeten om zonder hulp iets in elkaar te breien.

Een (simpel) voorbeeld van hoe de csv-bestanden die ik heb eruit zien:
code:
1
2
3
productnaam;titel1;titel2;titel3;
naam1;info1a;info2a;info3a;
naam2;info1b;info2b;info3b;

De eerste regel is de titel-lijn, regels 2 & 3 bevatten de daadwerkelijke informatie.

Nu zou ik het bestand als volgt gepositioneerd willen hebben:
code:
1
2
3
4
5
6
naam1;titel1;info1a;
naam1;titel2;info2a;
naam1;titel3;info3a;
naam2;titel1;info1b;
naam2;titel2;info2b;
naam2;titel3;info3b;


Zoals je ziet wordt voor elk van de drie "info's" een apparte regel gemaakt, die ook nog eens het betreffende woord uit de titel-lijn ervoor heeft staan.

Heeft iemand hier wellicht tips hoe ik dit aan kan passen/om kan zetten, of wellicht zoekwoorden waarop ik met Google wél nuttige voorbeelden kan vinden om dit proces te automatiseren. Het gaat om duizenden regels text, dus met de hand (zoals bovenstaand voorbeeld) aanpassen zie ik niet echt zitten :)

  • Tukk
  • Registratie: Januari 2002
  • Laatst online: 15:38

Tukk

De α-man met het ẞ-brein

Heb je wel verstand van databases?

Download een database (bv MySQL), creëer een tabel met het formaat van je huidige CSV.
Maak daarna een SQL-statement met een GROUP BY op de laatste kolom en exporteer je data weer naar een CSV.

Mogelijk zijn er andere oplossingen, dit is wat ik zou doen.

[ Voor 12% gewijzigd door Tukk op 27-12-2007 20:12 ]

Q: How many geeks does it take to ruin a joke? A: You mean nerd, not geek. And not joke, but riddle. Proceed.


  • remco_k
  • Registratie: April 2002
  • Laatst online: 15:26

remco_k

een cassettebandje was genoeg

Ik weet natuurlijk het doel niet van het CSV bestand, maar waarom zo'n 'gare' output? (niet genormaliseerd).
Kan je niet beter de rest aanpassen aan het CSV bestand, zodat je deze gewoon as-is kan inlezen?

Alles kan stuk.


  • Swerfer
  • Registratie: Mei 2003
  • Laatst online: 19-11 21:48

Swerfer

Hmm...

Bestaat je .cvs altijd uit 1 productnaam met 3 titels en daarna 2 'namen' met 3 info's? Dan is een eenvoudig vb scripje makkelijk in elkaar te zetten.

Zo niet, hoe herken je 'productnaam' en 'naam1' en 'naam2'?

Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com