我想读入一个最终将被放入数据库的指定网址的信息列表。我想使用2d数组来模拟数据库的行和列。我如何通过冷聚变实现这一目标?
示例文件:
blah|stuff|123123
wurd|noise|123121
答案 0 :(得分: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'
)
答案 1 :(得分: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中的更多选项。