---
title: "Sortera semikolonsorterad data och lägga in i databas."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/142311-sortera-semikolonsorterad-data-och-lägga-in-i-databas"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Hulth"
published: "2006-02-11T16:39:14.000Z"
updated: "2006-02-12T11:02:28.000Z"
replies: 9
views: 493
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/142311-sortera-semikolonsorterad-data-och-lägga-in-i-databas"
---

# Sortera semikolonsorterad data och lägga in i databas.

## #1 — Hulth, 2006-02-11T16:39Z

Om vi säger att jag har en textfil som innehåller en massa information som är separerad med semikolen (tex om man exporterar ett excel-ark till rådata). Den kan se ut såhär:

```
fältnamn1;fältnamn2;fältnamn3;
rad1;rad2;rad3;
rad4;rad5;rad6;
```

Om det finns något enkelt och smidigt sätt att plocka in det i en databas via asp. Har tittat lite på regexp men kan inte komma till sans med hur man ska göra det.

Ett annat problem kan vara tex om radbrytningarna i filen saknas, alltså att ovanstående skulle se ut såhär:

```
fältnamn1;fältnamn2;fältnamn3;rad1;rad2;rad3;rad4;rad5;rad6;
```

Om jag vet hur många fält det är, borde det ju fortfarande gå att plocka ut informationen och lägga in den i en databas?

Tacksam för all hjälp.

Permalänk: https://www.webforum.nu/p/142311

## #2 — UlfT, 2006-02-11T17:02Z

Här hittar du ett exempel för MySql: <http://www.blue105.com/internet/support/mysql_offline.html>

```
LOAD DATA LOCAL INFILE 'export_file_name.txt' INTO TABLE table_name FIELDS TERMINATED BY ',' ENCLOSED BY '\'
```

Valde att citera enbart sql-satsen, för att betona att det inte spelar någon roll vilket scriptspråk du använder. Komma-tecknet får du naturligtvis byta ut mot semikolon. Frågan är vad *ENCLOSED BY '\\'* skulle göra. Möjligt att du ska skippa den delen av satsen.

Permalänk: https://www.webforum.nu/p/1763430

## #3 — tydal, 2006-02-11T17:07Z

Det står ENCLOSED BY '\\"' alltså ett escapat citationstecken inom apostrofer. Om man tydliggör det lite med mellanslag blir det: ' \\" '

Eftersom det står skrivet i en php-sträng kan man inte bara skriva ut citationstecken rakt uppochner, utan de måste escapas, alltså få ett backslash framför. Till på köpet är det en Mysql-sträng man uttrycker inne i php-strängen, och den ska stå inom apostrofer.

Enclosed by betyder att det tecknet förekommer runt textfälten, alltså typ:

"rad 1";"rad 2"; osv...

Är så inte fallet så tar man inte med enclosed by...

Permalänk: https://www.webforum.nu/p/1763432

## #4 — Hulth, 2006-02-11T17:19Z

Frågan är om motsvarande sql-sträng skulle fungera ihop med access, för det finns ingen möjlighet att köra mysql där detta skulle behöva användas.

Sen kvarstår ju det problemet om allt ligger "på en rad" i textfilen, har provat att importera till access, excel osv, och då tror programmet att all data är ett par hundra koluner och lägger allt på en rad bara.

Permalänk: https://www.webforum.nu/p/1763436

## #5 — lilja, 2006-02-11T17:23Z

Funkar det inte att splitta vid ; och sedan loopa igenom arrayen som bildas?

Permalänk: https://www.webforum.nu/p/1763439

## #6 — Hulth, 2006-02-11T17:31Z

hur mycket information kan man lägga i en array då?

För nu snackar vi textfiler på uppåt 2mb

Permalänk: https://www.webforum.nu/p/1763440

## #7 — lilja, 2006-02-11T17:51Z

Vad jag vet är de ej begränsade även om man inte rekommenderas att lagra så stora delar i en array...

Handlar det om massor av rader på det formatet du beskrev loopar du igenom rad för rad och då blir det inte mycket data...

Handlar det om långa meningar i de fälten du beskrev på uppemot 2MB borde det fungera men jag vågar inte lova något :P

Permalänk: https://www.webforum.nu/p/1763443

## #8 — Hulth, 2006-02-11T17:55Z

för i vissa fall kommer informationen som ska bearbetas ligga i en enda lång rad, och i vissa fall är det uppdelad på rader.. Men hur skulle man göra en sån array isåfall, och hur loopar man igenom den? 

Har aldrig arbetat med arrays så jag har inte en aning

Permalänk: https://www.webforum.nu/p/1763445

## #9 — Snakes, 2006-02-11T23:51Z

Först öppnar du textfilen och lägger all data i en sträng (som i mitt exempel heter MyString) och sen kör du en split för att göra strängen till en array.

```
MyArray = split(MyString,";")
```

För att skriva ut allt gör du så här:

```
For Each Item In MyArray
  Response.Write Item
Next
```

Permalänk: https://www.webforum.nu/p/1763542

## #10 — lilja, 2006-02-12T11:02Z

Precis så som jag menade. Ett litet tips bara om man vill följa standarder så är det vanligt att skriva vad det är för en variabel före variabelnamnet, ex:

arrMyArray
strItem

arr = en array variabel
str = en sträng variabel

Permalänk: https://www.webforum.nu/p/1763590

---

Tråden på webben: https://www.webforum.nu/amne/asp/142311-sortera-semikolonsorterad-data-och-lägga-in-i-databas
