Ik heb een csv bestand met daarin een hoop aantal velden. Nu wou ik een scriptje schrijven om deze te inserten in de database.
De CSV file ziet er ongeveer zo uit:
Nu heb de volgende code:
Wat blijkt nu: sommige records hebben 8 velden. Dit lijkt eigenlijk maarzo omdat er ook in het voorbeeld een row er zo uitziet:
TCOPY2.EXE; Copies Trustee Assignments
Het probleem treed dus op omdat in de cellen zelf een ; staat en hij die ook mee explode.
Is er een manier om ervoor te zorgen dat mijn script er rekening mee houd dat als de ; tussen "" staat hij deze niet mee explode??
De CSV file ziet er ongeveer zo uit:
code:
1
2
3
4
5
| "NetMail 3.1";"NetMailXE 3.1d Update for Windows";"NETMAIL"; "nm310dxe.exe";"N-FILES";"US";"1" "NetWare 3.11";"TCOPY2.EXE; Copies Trustee Assignments";"TOOLS"; "tcopy2.exe";"N-FILES";"US";"1" |
Nu heb de volgende code:
PHP:
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
| <?php $fd = fopen("up2date.csv", "r"); while(!feof($fd)) { $buffer = fgets($fd, 4096); $buffer_exp = explode(";", $buffer); $count = 0; while($loop_handle = each($buffer_exp)) { $count++; print($loop_handle['1']); if($count == 8) { print("<h1>[8 VELDEN]</h1>"); } print("<b>{$count}</b><br>"); } print("<br><br>"); } ?> |
Wat blijkt nu: sommige records hebben 8 velden. Dit lijkt eigenlijk maarzo omdat er ook in het voorbeeld een row er zo uitziet:
TCOPY2.EXE; Copies Trustee Assignments
Het probleem treed dus op omdat in de cellen zelf een ; staat en hij die ook mee explode.
Is er een manier om ervoor te zorgen dat mijn script er rekening mee houd dat als de ; tussen "" staat hij deze niet mee explode??
[ Voor 45% gewijzigd door me1299 op 03-10-2003 12:17 ]
Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen