Читайте в файле с разделителями, чтобы список - PullRequest
0 голосов
/ 12 ноября 2010

Я хочу прочитать список информации с указанного URL, который в конечном итоге будет помещен в базу данных Я хочу использовать 2d массив для имитации строк и столбцов базы данных. Как бы я сделал это с холодным синтезом?

файл примера:

blah|stuff|123123
wurd|noise|123121

Ответы [ 2 ]

3 голосов
/ 12 ноября 2010

Существует несколько вариантов в зависимости от приложения.Вот некоторые примеры:

1) Обрабатывать содержимое как серию списков со строками, разделенными новыми строками и столбцами с помощью "|"Затем цикл по спискам и добавление данных в массив или вставка их в базу данных.

...
<cfset rows = []>
<cfloop list="#content#" delimiters="#chr(13)##chr(10)#" index="data">
    <cfset arrayAppend(rows, listToArray(data, "|", true))>
</cfloop>

2) Другой вариант - cfhttp , который может преобразовывать правильно сформированные файлы непосредственно в объекте запроса.Он имеет некоторые ограничения, но работает во многих случаях.

<cfhttp url="http://www.somesite.com/pageThatGeneratesFile.cfm"
     firstRowAsHeaders="false"  
     delimiter="|"
     name="queryResult" />

3) Большинство баз данных предоставляют инструменты для импорта текстовых файлов.Например, MS SQL предоставляет BULK INSERT

BULK INSERT TableName
FROM 'c:\yourFile.txt'
WITH 
(
     FIELDTERMINATOR ='|',
     ROWTERMINATOR = '\n'
)
1 голос
/ 12 ноября 2010

Как логично (4) для ответа Ли: загрузить данные в MySQL.

LOAD DATA LOCAL INFILE 'c:\youfile.txt'
INTO TABLE TableName
FIELDS TERMINATED BY '|'
LINES TERMINATED BY '\n'
(col1, col2, col3)

Дополнительные параметры в руководстве .

...