valideren csv input

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior .NET developer

Functie Als Senior .NET ontwikkelaar ga jij aan de slag in ons Research & development team. Ons team bestaat uit 17 collega’s! Wij zijn momenteel druk bezig met het opzetten van een geheel nieuwe architectuur voor een nieuw product. Hierbij maken wij o.a. gebruik van VS2022 en .NET 6.0. Jouw functie is dan ook voornamelijk backend georiënteerd bij ons. Aangezien wij meetapparatuur ontwikkelen voor de chemische industrie is het ook erg belangrijk om kwalitatief hoogwaardige software te ontwikkelen voor de besturing hiervan. Verder ben jij verantwoordelijk voor het designen, implementeren en testen van nieuwe features. Ook zorg jij voor toekomstbestendige

Bekijk vacature »

Als Lead PHP developer bijdragen aan het onderwijs

Functie Als Lead PHP developer zet je samen met het team en de andere lead developers de technische lijnen uit als het gaat om het ontwikkelen van de applicaties en bepaal je samen met de PO waar elke sprint aan gewerkt zal worden. Je kunt op basis van een user story een goede aanpak formuleren en een planning opstellen, en andere hierin meenemen. Wanneer je team code schrijft verwacht je degelijke oplossingen, bij voorkeur gebruik makend van Domain Driven Design. Je ziet toegevoegde waarde in het beoordelen van het werk van collega’s om zo samen te streven naar hoge kwaliteit

Bekijk vacature »

PHP Developer

Functie omschrijving Voor een bedrijf in Den Bosch zoek ik een PHP Developer, die al wat werkervaring heeft. Jij gaat aan de slag met de verdere professionalisering van de interne applicaties en software. In de functie ga je verder: Verdere ontwikkeling eigen CRM systeem, vooral middels PHP; Bouwen van verschillende API's & koppelingen; Meedenken om de software/applicaties te verbeteren/optimaliseren; Aan de slag met de interne tooling. Bedrijfsprofiel Dit bedrijf is actief binnen de telecombranche. Het hoofdkantoor zit in regio van Den Bosch en er werken ruim 70 medewerkers, verdeeld over verschillende afdelingen. De afdeling Development bestaat uit vijf collega's, onder

Bekijk vacature »

PHP Software Developer

Functie omschrijving PHP Software Developer gezocht! Voor een organisatie in de regio Zeist die zich bezighoud met het verbeteren van de medicatieveiligheid zoeken wij een Software Developer. In deze functie zijn wij op zoek naar een slimme en enthousiaste Developer die interesse heeft in farmacie, logistiek en ICT. Daarnaast beschik je over een goed analytisch vermogen en ben je van nature gestructureerd en resultaatgericht. Je moet in deze functie daadkrachtig, flexibel en communicatief goed zijn. Je verantwoordelijkheden bestaan uit: Object georiënteerd programmeren; Werken in een scrumteam aan de ontwikkeling van een medicatiebewakingssysteem; Meedenken over de mogelijkheden en onmogelijkheden van projecten;

Bekijk vacature »

Developer Low-code

Dit ga je doen Low-code ontwikkeling van software voor landelijk bekende organisaties; Opleveren van mooie eindproducten, middels de Agile methodiek; Samenwerken in een team van 10 collega's; Direct contact met de eindklant over de gewenste oplossingen. Hier ga je werken Als Developer kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven. De

Bekijk vacature »

Airport Developer / System engineer

De functie Als onze nieuwe Airport Developer / System Engineer is je doel om uit nieuwbouw- en onderhoudsprojecten maximale waarde te creëren voor Schiphol Group en haar stakeholders. Vanuit je visie en expertise, maar ook (technologische) ontwikkelingen, wetgeving en beleid vertaal je klantwensen naar een gedegen programma van eisen. In de planontwikkelingsfase werk je nauw samen met Plan Ontwikkelaars om je kennis in te brengen ten behoeve van de kwaliteit van het investeringsvoorstel. Je overlegt met diverse partijen, stelt de vraag achter de vraag en verbindt zo de belangen van de luchthaven, proceseigenaar en asseteigenaar om tot een gedragen ontwikkelopgave

Bekijk vacature »

C# Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Wil jij graag aan de slag als C# ontwikkelaar en jouw skills verder ontwikkelen? Zoek niet verder! Als C# ontwikkelaar ga je aan de slag met de volgende taken: (verdere) ontwikkeling van de software voor de interne processen binnen een .net omgeving; optimaliseren van de dataprocessing; ontwerpen en implementeren van zowel desktop- als web-programmatuur; ontwikkeling van tools ten behoeve van consultants en klanten. Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Den Bosch. Zij ontwikkelen business intelligence software voor een specifieke branche. Dit houdt in dat zij dashboards ontwikkelen

Bekijk vacature »

PHP ontwikkelaar

Functie Jij komt te werken in een development team van 9 man. Het grootste deel doet back end development en daarnaast is er 1 teamlead en 1 tester in het team. Dit Agile team is van groots belang voor de organisatie omdat zij voornamelijk alle eigen systemen in-house ontwikkelen. Naast het door ontwikkelen van het bestaande platform en de software die daarbij komt kijken, zul jij je ook bezighouden met het realiseren en opzetten van nieuwe projecten binnen het bedrijf. Je staat nauw met de klant in contact om zo hun wensen zo goed mogelijk te kunnen realiseren. Daarnaast ontwikkel

Bekijk vacature »

Front End Ontwikkelaar (React)

In het kort Als front end developer ga je aan de slag met maatwerkprojecten voor onze klanten. Denk bijvoorbeeld aan het toevoegen van een machine aan een database of het corrigeren van formulieren voor ingestuurde orders. Voorbeeld van zo’n project is Smart Link. De projecten waar je op ingezet kunt worden liggen binnen het technische domein waar jij als front end developer een grote rol speelt om samen met je back end collega’s de juiste oplossingen te leveren. please note that this particular role requires fluent Dutch language skills. Dit vind je leuk om te doen Het omzetten van designs

Bekijk vacature »

C++ Ontwikkelaar

Functieomschrijving Ben jij toe aan een nieuwe uitdaging en werk je graag en goed in C++ en C#? Dan zijn we op zoek naar jou! Dit bedrijf is dé specialist op het gebied van automatiseringssoftware voor een specifieke branche en ze zijn per direct op zoek naar versterking in hun development team. Wat jij gaat doen binnen jouw rol als C++ ontwikkelaar; Je vertaalt de wensen van gebruikers naar een functioneel ontwerp. Je houdt je bezig met het ontwerpen, programmeren en testen van product aanpassingen. Je gaat nieuwe product releases implementeren in de projectteams. Je gaat de effecten van nieuwe

Bekijk vacature »

Traineeship IT regio Amsterdam/Utrecht

Wat ga je doen? Het traineeship begint met een fulltime maand cursussen en praktijkdagen, waarin je de basis van het IT-vak leert op de Shared Servicedesk (SSD). Daarnaast ga je meteen aan de slag voor je eerste certificering! (ITILv4). Je start in een groep met 4 tot 10 deelnemers, waarmee jij gedurende die maand optrekt en je kennis kunt delen. Na het voltooien van de eerste maand ga je direct voor een langere periode aan de slag bij één van onze klanten of blijf je intern bij ons op de Shared Servicedesk. Je bent het eerste aanspreekpunt van de eindgebruikers

Bekijk vacature »

Traineeship ICT regio Amsterdam/Utrecht

Wat ga je doen? Het traineeship begint met een fulltime maand cursussen en praktijkdagen, waarin je de basis van het IT-vak leert op de Shared Servicedesk (SSD). Daarnaast ga je meteen aan de slag voor je eerste certificering! (ITILv4). Je start in een groep met 4 tot 10 deelnemers, waarmee jij gedurende die maand optrekt en je kennis kunt delen. Na het voltooien van de eerste maand ga je direct voor een langere periode aan de slag bij één van onze klanten of blijf je intern bij ons op de Shared Servicedesk. Je bent het eerste aanspreekpunt van de eindgebruikers

Bekijk vacature »

Software ontwikkelaar

Ben jij graag bezig met verschillende projecten? Vind jij beleving van klanten én medewerkers ook belangrijk? Wij zijn vanwege de doorontwikkeling van het applicatielandschap van onze opdrachtgever op zoek naar een fulltime software ontwikkelaar. Omschrijving Jij en jouw collega’s zijn verantwoordelijk voor de continuïteit en waarborging van het applicatielandschap. Om de processen vloeiend te laten verlopen is software ontwikkeling daarom van essentieel belang. Onze opdrachtgever doet dit voornamelijk zelf, met door hun eigen ontwikkelde applicaties. Dit betekent dat jij: functionele eisen vertaalt naar gebruiksvriendelijke software; tijdens SCRUM sessies advies geeft over het te bouwen ontwerp; nieuwe software ontwikkelt en het

Bekijk vacature »

Database Developer

Functieomschrijving Wat ga je doen? Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te voeren, maar het is ook prettig als je in de omgeving van Tilburg woont om naar het kantoor te kunnen komen. Vind jij het leuk om jouw creatieve vaardigheden te benutten om complexe systemen te ontwikkelen? Lees dan snel verder! Bedrijfsprofiel Voor wie

Bekijk vacature »

Consultant Low Code Developer

Functie omschrijving Heb jij verstand van datamodellering, NO CODE Platformen en kun jij het aan om projecten te leiden? Ben jij toe aan een nieuwe uitdaging en ben jij HBO afgestudeerd in de richting van IT? Voor een mooie opdrachtgever in omgeving Delft zijn wij op zoek naar een No Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten. Onderdelen functie Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform, je kunt denken aan Mendix of Betty Blocks. Je bent verantwoordelijk voor

Bekijk vacature »
Hans Vereyken

Hans Vereyken

02/06/2010 00:21:40
Quote Anchor link
Beste,

Ik ben reeds enige tijd aan het googlen om een goede oplossing te vinden voor het volgende:

Ik ben bezig met een website voor iemand die regelmatig grote hoeveelheden gegevens in een mysql database moet vervangen. Het programma dat hij op zijn computer gebruikt (Microsoft Access) heeft niet meteen de functies aan boord om deze taken uit te voeren. Ik laat hem de tabellen exporteren als csv waardes die hij dan in de website kan laden (er moeten hier en daar veranderingen gebeuren in de gegevens en een aantal zaken toevoegen, niet 'gewoon' synchroniseren, want dat gaat gewoon met access natuurlijk).
Gisteren gebeurde het dat Access een foutje maakte bij het aanmaken van het csv-bestand (Ja, het kan... ), hij probeert dit foutieve bestand in te laden... eerst wordt de database leeggemaakt, dan de nieuwe waardes erin, maar dat laatste ging dus niet goed, gevolg: website helemaal plat.
Mijn punt: hoe kan ik nakijken of er foutjes in de csv zitten alvorens deze te verwerken zodat dit niet meer kan gebeuren. Ik heb al gedacht om de gegevens eerst in een andere database te laden, wanneer dit faalt niet verder te gaan met het verwerken en zo de site intact laten, maar dit lijkt mij nogal omslachtig, ik zou liever een goede methode hebben om de csv te valideren.
Ik heb gezocht naar een Regular Expressions hiervoor maar ben nergens geraakt.
Eigenschappen van de csv: scheidingsteken: ","
Sommige waardes worden encapsulated met: "
Er moeten 3 waardes zijn gescheiden door komma's, dan moet er een /n komen

Iemand die mij een hint kan geven?

Dank bij voorbaat.
 
PHP hulp

PHP hulp

12/05/2024 03:25:11
 
B a s
Beheerder

B a s

02/06/2010 01:59:49
Quote Anchor link
Wil je het perse met PHP doen (geautomatiseerd) of kan dit ook client side?
 
Terence Hersbach

Terence Hersbach

02/06/2010 09:23:21
Quote Anchor link
hoe importeer je? PHP heeft namelijk hier functies voor die ook checken op fouten:
http://nl3.php.net/fgetcsv
 
Jan geen

Jan geen

02/06/2010 09:36:54
Quote Anchor link
Als je het importeert met de functie die hierboven wordt beschreven, dan kan je daarna eerst de array doorlopen en je checks doen en mits je geen fouten vindt dan pas de db updaten.
 
Hans Vereyken

Hans Vereyken

04/06/2010 08:35:09
Quote Anchor link
De input komt van een html formulier.
Dit is wat ik heb ondertussen, wel nog wat onhandig maar het komt wel goed zo denk ik
Edit:
script verwijderd, nieuwe versie in volgende post
Gewijzigd op 05/06/2010 13:50:05 door Hans Vereyken
 
Hans Vereyken

Hans Vereyken

04/06/2010 12:59:05
Quote Anchor link
Deze ziet er beter uit en werkt, heb hem ook ineens in het Engels gemaakt, toch steeds breder inzetbaar dan.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
36
37
38
39
40
41
42
43
44
45
<?php
function validCsv ($csv, $regexps) {
    $data = nl2br ($csv); //nl2br
    $numberOfLines = substr_count($data, "<br />"); //Count occurances of <br />
    $result[0] = true;
    $result[1] = $numberOfLines;
    $result[2] = "";
    
    $lineNumber = 0;
    while ($lineNumber < $numberOfLines) {
        $lineNumber++;
        list ($lineString, $data) = explode ("<br />", $data, 2); //First line in $lineString, rest in $data
        $lineArray = str_getcsv ($lineString, ","); // split values of $lineString in array in $lineArray
        if (!$lineArray) {
            $result[0] = false;
            $result[2] .= "Error in <strong>line ".$lineNumber."</strong>: can not split the string (".$lineString.")<br />";
        }

        
        $offset = 0;
        while (isset ($regexps[$offset])) { // as long as there are regular expressions set hold them against the next field, if field count doesn't match --> false
            $field = preg_match ($regexps[$offset], $lineArray[$offset]);
            $offset++;
            if (!$field | $field == "0") { //if regular expression didn't match or preg_match fails/dies
                $result[0] = false;
                $result[2] .= "Error in <strong>line ".$lineNumber.", field ".$offset."</strong>: no match with regular expression (".$lineArray[$offset-1].")<br />";
            }
        }

        if (isset ($lineArray[$offset])) { //If there are more line's than regular expressions
            $result[0] = false;
            $result[2] .= "Error in <strong>line ".$lineNumber."</strong>: to many fields (".$lineString.")<br />";
        }
    }

    return $result;
}

if (isset ($_POST['submit'])) {
    $hoofdgroepen = $_POST ['hoofdgroepen'];
    $regexps[0] = "/^[1-9]{1}[0-9]{0,3}$/";
    $regexps[1] = "/^[a-zA-Z0-9.,()\/ ]{1,50}$/";
    $regexps[2] = "/^[1-9]{1}[0-9]{0,3}$/";
    $result = validCsv ($hoofdgroepen, $regexps);
    echo "True/False: ".$result[0]."<br />";
    echo "Number of lines: ".$result[1]."<br />";
    echo "Errors: <br />".$result[2]."<br />";
}

?>
 
Hans Vereyken

Hans Vereyken

15/06/2010 09:56:45
Quote Anchor link
Deze functie werkt perfect op mijn wamp server, als ik het naar mijn server upload en ik roep deze functie ergens aan blijft het gehele scherm gewoon wit... ik heb error_reporting (E_ALL) bovenaan het desbetreffende script gezet om er zeker van de zijn dat alle fouten weergegeven worden.
Ik heb geen idee wat er hier fout gaat, op mijn computer werkt het perfect...
Ik heb hier php 5.3.0, de server heeft php 5.2.6

Ik hoop dat iemand mij verder kan helpen
Alvast bedankt

Edit:
Ik heb het probleem gevonden, str_getcsv is een functie die pas bestaat sinds PHP 5 >= 5.3.0, hoe los ik dit op?
Gewijzigd op 15/06/2010 10:11:48 door Hans Vereyken
 

15/06/2010 10:33:02
 
Afra ca

Afra ca

15/06/2010 13:02:24
Quote Anchor link
Ik was las toevallig net de comments van fgetcsv, en aangezien we het hier toch hebben over valid CSV: php.net volgt niet de RFC standaard van CSV. Zie voor meer uitleg het bugreport
Gewijzigd op 15/06/2010 13:08:53 door Afra ca
 
Hans Vereyken

Hans Vereyken

15/06/2010 21:40:29
Quote Anchor link
@Karl Karl
Ik heb alle linkjes bekeken, ik maar zoeken, het stond gewoon onder mijn neus. De eerste link is de beste, maar veel te uitgebreid, ik heb er dit van gemaakt, dat is genoeg voor wat ik nodig heb:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
if (!function_exists('str_getcsv')) {
    function
str_getcsv ($input) {
        $input = str_replace (array("\r", "\r\n", "\n"), "", $input);
        $input = $input.",";
        $offset = 0;
        while ($input != "") {
            if (substr ($input, 0, 1) == "\"") {
                list ($field, $input) = explode ("\",", substr ($input, 1), 2);
                $return[$offset] = $field;
            }
else {
                list ($field, $input) = explode (",", $input, 2);
                $return[$offset] = $field;
            }

            $offset++;
        }

        return $return;
    }
}

?>

Het is zeker geen volwaardig alternatief voor str_getcsv, maar zoals gezegd: voor mij is het voldoende.

@Afra ca
Ik denk niet dat dit probleem van toepassing was, maar zeker het lezen waard, danku!
Gewijzigd op 15/06/2010 21:43:13 door Hans Vereyken
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.