我正在尝试阅读使用|
分隔符而不是,
的csv文件。
我正在使用
<cffunction name="loadCSVfile" access="public" returntype="string">
<cfargument name="filename" required="yes" default="">
<cffile action="read" file="#filename#" variable="csvData">
<cfreturn csvData>
</cffunction>
适用于,
分隔符但不适用于|
的文件。还有什么我需要做的才能使这个功能起作用吗?
这就是我调用函数的方式:
<cfscript>
csvloaderCFC = CreateObject("component","AlscCSVloader");
</cfscript>
<cfset csvfilename = DataDirectory&q_DataDirectory.name>
<!--- backup CSV file ---->
<cffile action= "copy" source = "#csvfilename#"
destination = "#DataDirectorybackup#">
<!--- Load CSV data ---->
<cfscript>
csvData = csvloaderCFC.loadCSVfile(csvfilename);
</cfscript>
<cfdump var="#csvData#">
cfdump
最终根本没有显示
管道分隔的样本
Location|patient_ID|First Name|Last Name|
111|468454|Eric |Gallegos |
111|468457|kelsey|anderson|
10|468459|Rivenda|Kaur|
以逗号分隔的样本
Location,patient_ID,First Name,Last Name,
111,468454,Eric ,Gallegos ,
111,468457,kelsey,anderson,
10,468459,Rivenda,Kaur,
答案 0 :(得分:0)
除了CFFile调用之外,还有更多的事情可以将CSV作为某种结构。 CFFile敌人不是自己做的。 (虽然奇怪的是CFHttp确实如此)老实说,你最好的选择可能是使用Java库。 Apache提供了几种:http://commons.apache.org/csv/
这些应该会给你一些相当容易处理的东西。
如果您想要一个“纯粹的”coldfusion CSV选项,您可以查看此博客文章中的特定impl: http://www.bennadel.com/blog/483-Parsing-CSV-Data-Using-ColdFusion.htm
基本上你需要阅读整个内容,然后解析它。