2010-11-12 73 views
0

我想从指定网址读取信息列表,最终将其放入数据库。我想使用2d数组来模拟数据库的行和列。我将如何通过冷聚变来完成这个任务?将分隔文件读入列表

示例文件:

blah|stuff|123123 
wurd|noise|123121 

回答

3

有许多取决于应用程序选项。一些示例如下:

1)将内容视为一系列列表,并用“|”用新行和列对行进行分隔。然后通过列表loop并将数据附加到数组或将其插入到数据库中。

... 
<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' 
) 
+0

谢谢!我会试试这个 – tylercomp 2010-11-12 16:33:28

1

至于Leigh的答案逻辑(4):在MySQL负载数据。

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

更多选项manual

相关问题