Tijdens het lezen van deze zin, wordt wereldwijd circa 1.000.000 liter olie verstookt. Dus niet 2X lezen hè.
Vraag
Alle reacties
Je zou het met Regular Expressions kunnen doen. Dus je parsed de data door een regex om de content eruit te trekken en deze in een nieuwe kolom te plaatsen.bert pit schreef op donderdag 26 maart 2020 @ 11:54:
Ik heb een database (PostgreSQL) met daarin een tabel met mail's. Deze mails bevatten text en zitten in een notitieveld. De meeste van die mails bevatten HTML code, waardoor het onleesbaar wordt en onmogelijk te exporteren. Ik zou deze mails willen converteren naar een leesbaar format, zodat ik deze kan exporteren naar CSV format voor import in Salesforce.
Ik ben geen programmeur en heb wat basis kennis van SQL opgedaan met beginnershandleidingen.
Onze data zit in een PostgreSQL database
Ik heb enkele scripjes geprobeerd te koppelen in PostgreSQL. Daarnaast heb ik op het internet gespeurd naar een oplossing. Beide zonder goed resultaat.
Een ander idee, wat ik persoonlijk zou doen als het een HTML form achtige structuur is, zou ik het uit de DB halen, door een HTML parser halen en via een HTML tool op een XML achtige wijze het uit de form trekken.
Er zijn redelijk wat HTML parsers die je de mogelijkheid geven om via HTML selectors data te selecteren.
Less alienation, more cooperation.
[ Voor 22% gewijzigd door Room42 op 26-03-2020 12:27 ]
"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron
Dat is zélden een goed idee. Tenzij de HTML echt über-ÜBER-simpel is, is een regex geen goed idee.Sandor_Clegane schreef op donderdag 26 maart 2020 @ 11:59:
Je zou het met Regular Expressions kunnen doen. Dus je parsed de data door een regex om de content eruit te trekken en deze in een nieuwe kolom te plaatsen.
Ik sluit me aan bij @q-enf0rcer.1 en @Room42
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
Verwijderd
Volgens mij zijn HTML Tags voor excel gewoon 'values'Verwijderd schreef op donderdag 26 maart 2020 @ 13:18:
Data naar Excel via een ODBC koppeling. Data copy & paste met 'value only' en exporteren naar iets anders.
Vandaar dat ik ook de tweede optie heb beschreven.RobIII schreef op donderdag 26 maart 2020 @ 13:08:
[...]
Dat is zélden een goed idee. Tenzij de HTML echt über-ÜBER-simpel is, is een regex geen goed idee.
Ik sluit me aan bij @q-enf0rcer.1 en @Room42
Less alienation, more cooperation.
Verwijderd
Oops. Vergat te melden dat die met een VBA scriptje naar een gerenderd format gezet moet worden. Even googlen op 'excel format html in cell'chriistiix schreef op donderdag 26 maart 2020 @ 13:21:
[...]
Volgens mij zijn HTML Tags voor excel gewoon 'values'
Ik zei het dan ook niet zo zeer voor jou maar meer om TS, die dat mogelijk niet besefte, te behoeden voor een ontzettend diep konijnenholSandor_Clegane schreef op donderdag 26 maart 2020 @ 13:30:
[...]
Vandaar dat ik ook de tweede optie heb beschreven.
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
Deze heb ik geprobeerd echter de database was te groot voor Excel. Ook Access pakte de koppeling van die specifieke tabel niet. Andere tabellen met minder records gingen prima naar Excel en Access. Toch breng je me op een idee.Verwijderd schreef op donderdag 26 maart 2020 @ 13:18:
Data naar Excel via een ODBC koppeling. Data copy & paste met 'value only' en exporteren naar iets anders.
[ Voor 3% gewijzigd door bert pit op 26-03-2020 17:44 ]
Tijdens het lezen van deze zin, wordt wereldwijd circa 1.000.000 liter olie verstookt. Dus niet 2X lezen hè.
Als deze overal hetzelfde is zou je de database naar een tekst bestand kunnen exporteren en met find/replace alle HTML weghalen. Als de HTML in iedere email anders is zal je handmatig alles na moeten lopen (als je zeker niet wil dat er stukken opmaak overblijven).
Verwijderd
Alternatief is toch scripten. HTML mails zijn vaak niet de netste dus wellicht dat dat überhaupt een beter resultaat.
Als je voldoende thuis bent in Postgresql kun je nog even hier kijken: https://stackoverflow.com...g-html-tags-in-postgresql
Bij de Perl optie (iets naar beneden, 3e / 4e antwoord)
Kant en klaar stukje script dat een postgress functie toevoegt voor HTML naar text. Heb die Perl module in het verleden gebruikt en die geeft goede resultaten.
[ Voor 37% gewijzigd door Creepy op 26-03-2020 18:20 ]
Beetje offtopic, maar sinds 2016 heeft Excel heeft een limiet van 1.048.576 rijen en 16384 kolommen.Verwijderd schreef op donderdag 26 maart 2020 @ 17:54:
Om hoeveel records gaat het? Gok dat Excel nog op max 65.000 rijen zit.
Full-stack webdeveloper in Groningen
Had ik naar gekeken en Salesforce werkt helaas niet met imap.pennywiser schreef op donderdag 26 maart 2020 @ 13:13:
Is het niet mogelijk de mailbox op dit moment te benaderen via imap of dit te regelen? En kan salesforce ook imap? Gebruik dan imapsync om alle mail 1 op 1 naar de imap van salesforce te kopiëren, zodat je de mail opmaak verder niet hoeft aan te passen.
Tijdens het lezen van deze zin, wordt wereldwijd circa 1.000.000 liter olie verstookt. Dus niet 2X lezen hè.
Dit stukje had ik inderdaad gelezen maar was gezien te ingewikkeld om mij in te verdiepen. Gezien de tijdsdruk.Verwijderd schreef op donderdag 26 maart 2020 @ 17:54:
Om hoeveel records gaat het? Gok dat Excel nog op max 65.000 rijen zit. Als het doenbaar is om te spitsen maak je in postgress een view met records 0 - 65.000, 65.001 - etc Daar ODBC overheen.
Alternatief is toch scripten. HTML mails zijn vaak niet de netste dus wellicht dat dat überhaupt een beter resultaat.
Als je voldoende thuis bent in Postgresql kun je nog even hier kijken: https://stackoverflow.com...g-html-tags-in-postgresql
Bij de Perl optie (iets naar beneden, 3e / 4e antwoord)
Kant en klaar stukje script dat een postgress functie toevoegt voor HTML naar text. Heb die Perl module in het verleden gebruikt en die geeft goede resultaten.
Het betreft 1.5 miljoen records die ik kan terugbrengen naar naar een kleiner aantal.
Tijdens het lezen van deze zin, wordt wereldwijd circa 1.000.000 liter olie verstookt. Dus niet 2X lezen hè.
Ik zou om te beginnen alle mail nu wel uit de PG database trekken en naar naar een conventioneel mailbox formaat syncen welke wel imap kan (dus met imapsync), dan heb je dat in elk geval. Gebruik bv. een Gmail, Office 365 of Outlook.com mailbox vanwege toekomstige doorzoekbaarheid.bert pit schreef op vrijdag 27 maart 2020 @ 10:51:
[...]
Had ik naar gekeken en Salesforce werkt helaas niet met imap.
Daarna kan je scripten en omzetten naar Salesforce op welke manier je wilt