Aangegeven rijen/kolommen niet importeren uit CSV bestand

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front end developer

Functie Het team bestaat uit User Experience designers, Data Scientists en Software Engineers met passie voor hun vak. De consultants en ontwikkelaars werken volgens de Design Thinking methode waarbij de eerste stappen van ontwerp en ontwikkeling zullen samenkomen in een proof of concept. Nadat is vastgesteld dat de oplossing voldoet aan de belangrijkste behoeftes worden producten of services gevalideerd door middel van korte iteraties. Hiermee zorgen ze ervoor dat het werk voldoet aan de technische vereisten en gebruikersbehoefte. Door het inzetten van de nieuwste technologieën die toekomstbestendig zijn weten ze klanten omver te blazen. Ook geven en organiseren ze veel

Bekijk vacature »

Senior Software Developer C++

Vacature details Vakgebied: Software/IT Opleiding: Senior Vacature ID: 13342 Introductie Do you want to work for one of the most innovative companies located in the region of Eindhoven. Currently Due to growth we are looking for a Senior Software Developer. Our client is a high-tech company with international roots and can provide you with a challenging opportunity. Functieomschrijving Responsibilities: Design, develop, and maintain high-quality software applications in C++ Collaborate with other engineers, product managers, and stakeholders to understand requirements and develop solutions Write clean, maintainable, and efficient code Conduct thorough testing and debugging to ensure high-quality software Optimize applications for

Bekijk vacature »

Java developer

Functie Je gaat aan de slag als Tester voor een aantal mooie projecten. Je komt terecht in een DevOps team waar jij aan de slag gaat om de kwaliteit te waarborgen omtrent de maatwerk software voor de klanten. Je draait je hand er niet voor om de adviserende rol te bekleden op het gebied van testautomatisering en het opzetten van testframeworks. Zoals aangegeven ga je daadwerkelijk in het eigen team aan de slag en is het daarnaast ook gebruikelijk bij de klanten op locatie te komen om te werken aan de opdrachten. Je krijgt zodoende echt een mooie kijk in

Bekijk vacature »

Medior/senior Front-end developer (Vue.js)

Functie Als Front-end developer ben je uiteindelijk overkoepelend aan de slag voor de 3 ontwikkelteams die ieder aan een specifiek product werken. In samenwerking met de UX-designer en de huidige Front-end developer zorg je voor gebruiksvriendelijke software. Lijkt het jou interessant om complexe problemen op te lossen en feautures naar een hoger niveau te tillen? En vind je het niet erg om oudere delen van de applicaties te refactoren i.c.m. het toevoegen van nieuwe functionaliteiten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en zelfredzaamheid)

Bekijk vacature »

Senior Airport Developer ( System engineer)

De functie Nice to know (you) De nieuwe A-pier wordt de duurzaamste van Schiphol. Als deze af is ligt er 4000 vierkante meter zonnepanelen op het dak. En de toiletten? Die spoelen door met regenwater. we gaan ervoor: het creëren van de meest duurzame en hoogwaardige luchthavens ter wereld. een toekomstbestendig en duurzaam Schiphol. Daar werken we elke dag hard aan in team Development & Sustainability. Jij bent regisseur, expert én aanjager van de ontwikkeling van Schiphol. Connecting your world Hoe maak je de ambities en doelstellingen van Schiphol concreet in een project? De waarde voor Schiphol naar eisen die

Bekijk vacature »

APEX Ontwikkelaar in een team van Oracle Developer

Bedrijfsomschrijving Wij zijn op zoek naar een APEX Ontwikkelaar om onze opdrachtgever in Den Haag te versterken. In deze rol zul je verantwoordelijk zijn voor het ontwikkelen en onderhouden van de front-end van onze applicaties met behulp van Oracle Application Express (APEX). Je werkt aan zowel inhouse als externe projecten. De sfeer binnen het Oracle team is gemoedelijk en men probeert elkaar te helpen én van elkaar te leren. Zo ontstaat er een prettige en plezierige werksfeer waar ruimte is voor persoonlijke ontwikkeling en groei. Er wordt gewerkt met de meest nieuwe technologieën waardoor je kennis up-to-date blijft. Het bedrijf

Bekijk vacature »

Back End Developer

Als Back End developer bij KUBUS houd je je bezig met het ontwikkelen van de (web)applicatie en services van BIMcollab. Je hebt een focus op de back end van onze software, daarvoor werken wij hoofdzakelijk met C# en .NET. Wij hanteren een full-stack benadering, wat betekent dat je naast de back-end ook meehelpt bij andere onderdelen van de code. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Java Developer

Dit ga je doen Ontwerpen en bouwen van nieuwe functionaliteiten binnen de complexe omgeving; Proactief de processen kwalitatief en efficient inrichten; Opzetten van Unit Tests; Code Reviews; Regie nemen voor innovatieve projecten; Landschap beheren en de bijbehorende ketens hierbij in het oog houden. Hier ga je werken De organisatie is actief binnen de financiele branche en heeft een IT afdeling van circa 450 man. De organisatie voorziet de maatschappij binnen de financiele dienstverlening en is gedurende de jaren een onmisbare schakel geworden. Het is een high profile organisatie waar ze veel te maken hebben met veranderingen voortkomend uit maatschappelijke ontwikkelingen,

Bekijk vacature »

Software Developer

Dit ga je doen Ontwerpen, ontwikkelen en onderhouden van (mobiele) internettoepassingen; Ontwikkelen en onderhouden van Microservices; Ontwerpen en optimaliseren van databases; Identificeren van nieuwe trends/ontwikkelingen binnen de branche. Hier ga je werken Deze marktleider op gebied van fietsen en fietservaring is gevestigd in twee provincies, verspreid over meerdere locaties. Jij zult voornamelijk in regio Joure aan de slag gaan. De organisatie doelt zich op het leveren van kwalitatief hoogwaardige producten aan alle hun klanten. De organisatie telt circa 4.000 medewerkers in meer dan 10 verschillende landen. Momenteel is de organisatie op zoek naar een Software Developer wilt meewerken aan het

Bekijk vacature »

Java Developer bij een jonge groeiende organisatie

Bedrijfsomschrijving Vind jij het als Java developer ook zo belangrijk dat een bedrijf je de ruimte en tijd geeft voor persoonlijke ontwikkeling? Dan zit je hier helemaal goed. Deze jonge organisatie is opgericht in 2018 en is ondertussen uitgegroeid tot een club van ongeveer 30 medewerkers. Het gaat hier om een echte Java club, die vrijheid en verantwoordelijkheid erg belangrijk vinden. Het bedrijf heeft een informele sfeer en de teams zijn erg hecht met elkaar. Ze delen graag de kennis en ervaringen met anderen, maar vinden andermans mening ook zeer belangrijk. De organisatie zet zich in voor ontwikkeling en besteed

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET developer begint jouw dag na een bak koffie met een stand up. De vorderingen worden tijdens de stand up besproken en de doelen worden opgesteld waar jullie als team in de volgende sprint naartoe gaan werken. Onze backend is geschreven in .NET Core en onze Front-end in Angular. Bij ons ga jij dan ook Fullstack aan de slag. Jij wordt hier opgeleid om zelfstandig te kunnen programmeren en applicaties te kunnen implementeren. Er wordt op projectbasis gewerkt, dit bied leuke uitdagingen omdat elke klant een andere visie heeft over de applicatie die wij maken. Je gaat

Bekijk vacature »

Senior front end developer Digital Agency Amsterda

Functie Wij werken in multidisciplinaire teams aan verschillende projecten, echter blijf je niet gebonden aan 1 team. Dit houdt in dat wij verschillende specialisten in dienst hebben en deze door middel van een roulatiesysteem in multidisciplinaire teams laten werken. Het team bestaat vaak uit Frontend developer(s), Backend Developer(s), Designer(s), Tester(s) en Mobile Developer(s). Deze teams worden afgewisseld waardoor jij de mogelijkheid krijgt om met iedereen een keer samen te werken. Als Frontend Developer ben jij ónze Specialist op dit gebied. Jij werkt mee aan verschillende projecten voor verschillende klanten. Denk bijvoorbeeld aan klanten, zoals’; BAM, IDFA en Ultimaker. Hierbij zorg

Bekijk vacature »

Ervaren PHP ontwikkelaar

Functie Jij als PHP ontwikkelaar komt te werken in een team van 4 andere PHP ontwikkelaars. Je zult je voornamelijk bezig houden met: – Het ontwikkelen van nieuwe features – Doorontwikkelen van de API – Nadenken over de technische infrastructuur – Datakwaliteit Samen met het team ben jij verantwoordelijk voor de verdere ontwikkeling van de software en om de positie als marktleider in Europa te behouden. Ze werken volgens SCRUM in 2 wekelijkse sprints, werken met Jira voor alle tickets en communiceren veel via Slack. Eisen • Minimaal 3 jaar ervaring als back end developer • Je hebt affiniteit met

Bekijk vacature »

Cloud Engineer

Ben jij een ervaren Cloud Engineer die complexe omgevingen kan overzien en wil je graag in vaste dienst werken bij een professioneel en kleinschalig bedrijf waar je een belangrijke rol kan spelen? Wij, IntelliMagic in Leiden, ontwikkelen specialistische IT monitoring software die we als SaaS oplossing verkopen aan grote bedrijven in Europa en de VS. We zijn een Nederlands bedrijf met een goede sfeer en met grote waardering voor de persoonlijke inbreng en kwaliteiten van onze medewerkers. Wij zoeken een ervaren Cloud Engineer met academisch denkniveau die verantwoordelijk wordt voor het beheer van de cloud infrastructuur voor onze Europese klanten.

Bekijk vacature »
Max -

Max -

08/01/2013 14:04:25
Quote Anchor link
Beste PHPers,

Ik ben een .CSV importeer script aan het aanpassen, waarin ik straks wil kunnen aangeven welke rijen & kolommen hij mag overslaan. Dit heb ik nodig omdat de CSV bestanden die ik probeer te importeren, veel onnodige informatie bevatten.

Het importeer script dat ik gebruik is 'Simplecsvimport' en ziet er momenteel bij mij zo uit:

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
$databasehost
= "localhost";
$databasename = "test";
$databasetable = "test";
$databaseusername ="root";
$databasepassword = "test";
$fieldseparator = ",";
$lineseparator = "\n";
$csvfile = $_POST['naamcsv'];

//Primary key 1ste row van de tabel? dan deze op 1 laten staan.
$addauto = 1;

if(!file_exists($csvfile)) {
    echo "File not found. Make sure you specified the correct path.\n";
    exit;
}


$file = fopen($csvfile,"r");

if(!$file) {
    echo "Error opening data file.\n";
    exit;
}


$size = filesize($csvfile);

if(!$size) {
    echo "File is empty.\n";
    exit;
}


$csvcontent = fread($file,$size);

fclose($file);

$con = @mysql_connect($databasehost,$databaseusername,$databasepassword) or die(mysql_error());
@
mysql_select_db($databasename) or die(mysql_error());

$lines = 0;
$queries = "";
$linearray = array();
$rowimport1 = $_POST['horizontaal1'] -1;
$rowimport2 = $_POST['horizontaal2'] +1;
$rowimport3 = $_POST['horizontaal3'] -1;
$rowimport4 = $_POST['horizontaal4'] +1;

foreach(split($lineseparator,$csvcontent) as $line) {

    $lines++;
        
        if($lines > $rowimport1 & $lines < $rowimport2 && $lines > $rowimport3 & $lines < $rowimport4){
                
    $line = trim($line," \t");
    
    $line = str_replace("\r","",$line);
        
    $line = str_replace("'","\'",$line);
                $line = str_replace('"','',$line);
    
    $linearray = explode($fieldseparator,$line);
    
    $linemysql = implode("','",$linearray);
                
                
    if($addauto){
        $query = "insert into $databasetable values('',Projectnr= " .$_POST['projectnr']. " ,'','','','','$linemysql');";
                }
else
        $query = "insert into $databasetable values('$linemysql');";
    
    $queries .= $query . "\n";

    @
mysql_query($query);
                }
}

@
mysql_close($con);
?>


Zoals je kan zien geef ik bij de lijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if($lines > 3 & $lines < 20){ //Only import rows >"?" to <"?" ?>


aan dat hij alleen de 'rows' 3 tot 20 moet importeren

en bij:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $query = "insert into $databasetable values('','','','','','$linemysql');"; ?>

dat hij kolommen 1 tot 5 moet leeglaten.

Verder heb ik een formulier:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php <table>
            <
form action="csvimport.php" method="post">
            <
tr><center><td><center><p>Overslaan horizontaal</p></center></td><td>&nbsp;</td></center></tr>
            <
tr><td><input type="text" name="horizontaal1"/></td><td><input type="text" name="horizontaal2"/></td></tr>
            <
tr><td><input type="text" name="horizontaal3"/></td><td><input type="text" name="horizontaal4"/></td></tr>
            <
tr><center><td><center><p>Overslaan verticaal</p></center></td><td>&nbsp;</td></center></tr>
            <
tr><td><input type="text" name="verticaal1"/></td><td><input type="text" name="verticaal2"/></td></tr>
            <
tr><td><input type="text" name="verticaal3"/></td><td><input type="text" name="verticaal4"/></td></tr>
            <
tr><td><label><center><p>Naam CSV bestand:</p></center></label><input type="text" name="naamcsv" placeholder="Ex: 'csvimport.csv'" /></td><td><center><button class="submit" type="submit">SUBMIT</button></center></td></tr>
            <
/form>
        <
/table> ?>


In dit formulier moet een gebruiker de rijen en kolommen invullen die niet geimporteerd moeten worden.


Mijn vraag is nu:

Hoe kan ik dit het beste aanpakken? Bijvoorbeeld van die 3 & 20 een variabele maken die zijn gegevens haalt uit de input fields van het formulier, of kan dit makkelijker op een andere manier?

En hoe kan ik het probleem met de kolommen oplossen? want nu laat hij alleen 5 kolommen open voordat hij het CSV bestand importeerd, maar ik moet een aantal kolommen uit het CSV bestand niet importeren.


Alvast bedankt voor de hulp,

-Max
Gewijzigd op 09/01/2013 09:54:12 door Max -
 
PHP hulp

PHP hulp

10/05/2024 19:39:16
 
No One

No One

08/01/2013 14:21:25
Quote Anchor link
dat "simpele" is best nog wel ingewikkeld....en helemaal verkeerd. PHP heeft al parsefuncties daarvoor:

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
<?php
$row
= 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);
        echo "<p> $num fields in line $row: <br /></p>\n";
        $row++;
        for ($c=0; $c < $num; $c++) {
            echo $data[$c] . "<br />\n";
        }
    }

    fclose($handle);
}

?>


is al een stuk minder ingewikkeld (en rechtsstreeks van http://php.net/manual/en/function.fgetcsv.php)

als je de eerste regel kolomnamen opgeeft in je CSV...en die de eerste keer alleen die regel inleest, weet je de kolomnamen, dan kun je in de volgende stap aangeven welke kolommen je mee wil nemen.....
 



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.