Beste programmeurs,
Ik sta weer te kijken met het volgende probleem.
Uit een .csv bestand wil ik regel voor regel lezen (al gelukt).
Elke regel zet ik om naar een arraylist (omdat elke regel een ander aantal items heeft)
De opbouw van een aantal regels ziet er al volgt uit;
Nu is "¢" het scheidingsteken en ook meteen het probleem, want de reader "leest" dit teken gewoonweg niet. Gevolg is dat mijn arraylist maar 1 item bevat.
Vervang ik die "¢" door een ; werkt het wel. Echter ben ik gebonden aan die "¢".
Ook de dubbele quotes haal ik nu op een slechte manier weg.
Iemand een idee hoe ik het werkend ga krijgen?
Dit is wat ik tot nu toe heb,
alleen relevante code
Google en Got leverde niets op.
Ik sta weer te kijken met het volgende probleem.
Uit een .csv bestand wil ik regel voor regel lezen (al gelukt).
Elke regel zet ik om naar een arraylist (omdat elke regel een ander aantal items heeft)
De opbouw van een aantal regels ziet er al volgt uit;
code:
1
2
3
4
5
6
7
8
9
10
| "ART"¢""¢"0000551270"¢" 551,270"¢"2200005512708"¢"1"¢"STA13"¢"P"¢"A"¢"PAPERTOYS"¢"BUIJNSTERS, P.J."¢""¢"MH"¢"1"¢"10/12/04"¢" 3/05/06"¢"SY"¢"0"¢"1"¢"0008"¢"1499"¢"33547"¢" 0"¢"1"¢" / /"¢" / /"¢"32945"¢" 0,00"¢" 33.93"¢"STUK"¢" 1"¢"STUK"¢" 1"¢" 1"¢""¢" 1.000"¢""¢"0"¢""¢" 0.00"¢" / /"¢" / /"¢" 59.95"¢" 0.00"¢" 0.00"¢""¢"0"¢"I"¢""¢"25 x 19"¢" 0.00"¢" 0"¢"N"¢""¢"9040090637"¢"3"¢"3"¢" 0"¢" 0"¢"" ""¢"A_O"¢"0000551270"¢"NL"¢""¢" 4/05/2005"¢" 4/05/2005"¢"Speelprenten en papieren speelgoed in Nederland 1640-1920. Op wetenschappelijk nieveau wordt aandacht geschonken aan het tableau van ganzenborden, loterijspelen, diorama's, bouwplaten, knipprenten en andere "papertoys" over een periode van drie eeuwen." ""¢"A_Z"¢"0000551270"¢" 1"¢"416" ""¢"A_Z"¢"0000551270"¢" 2"¢"ILL. IN KLEUR + ZW/W" ""¢"A_Z"¢"0000551270"¢" 3"¢"GEBONDEN" ""¢"A_Z"¢"0000551270"¢" 4"¢"00080108" ""¢"A_Z"¢"0000551270"¢" 4"¢"00030137" ""¢"A_Z"¢"0000551270"¢" 5"¢"PAPIEREN SPEELGOED" ""¢"A_Z"¢"0000551270"¢" 6"¢"ZWOLLE" ""¢"A_Z"¢"0000551270"¢" 7"¢"2005" |
Nu is "¢" het scheidingsteken en ook meteen het probleem, want de reader "leest" dit teken gewoonweg niet. Gevolg is dat mijn arraylist maar 1 item bevat.
Vervang ik die "¢" door een ; werkt het wel. Echter ben ik gebonden aan die "¢".
Ook de dubbele quotes haal ik nu op een slechte manier weg.
Iemand een idee hoe ik het werkend ga krijgen?
Dit is wat ik tot nu toe heb,
alleen relevante code
code:
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
| Imports System.IO
Imports System.IO.StreamReader
Partial Class _conversie
Inherits System.Web.UI.Page
Sub Page_Load(ByVal s As Object, ByVal e As EventArgs) Handles MyBase.Load
'als het form gesubmit is gaan we pas over tot het converteren.
If Page.IsPostBack Then
'pad naar CSV bestand opgeven.
Dim CsvFile As String
CsvFile = Server.MapPath("export.csv")
'scheidingsteken opgeven.
Dim Delimiter As Char
Delimiter = "¢"
'checken of CsvFile bestaat
If File.Exists(CsvFile) Then
'Csv openen.
Dim sr As StreamReader = File.OpenText(CsvFile)
'regel declareren.
Dim Line As String
'door het Csv bestand loopen.
Do
'regel lezen.
Line = sr.ReadLine
If Not Line = "" Then
'de regel omzetten naar een array zodat we de items kunen doorlopen.
Dim ItemsArray As New ArrayList
'Line scheiden en in de array zetten.
ItemsArray.AddRange(Line.Split(Delimiter))
//////// deze loop werkt ook niet
Dim Item As String
For Each Item In ItemsArray
Item = Replace(Item, """", "")
Next
//////// dit werkt dan wel, dus de " is weg
Response.Write(Replace(ItemsArray.Item(4), """", ""))
End If
Loop Until Line Is Nothing
'zodra we aan het einde zijn stoppen we.
'stream sluiten
sr.Close()
End If
'einde controle of bestand bestaat.
End If
'einde controle pagePostBack.
End Sub
End Class |
Google en Got leverde niets op.