-1

CFCSV custom tagを使用して CSV を解析しようとしています。ここに私のCFMLコードがあります:

<cfset data = fileRead( "inputtest.csv", "utf-8" ) />
<cfcsv action="parse" data="#data#" variable="csv" hascolumnnames="true" delimiter="," />
<cfloop query="csv">
    <cfoutput>#csv.name#</cfoutput>
</cfloop>

..そして私のテストCSV:

"Email","Name","Address1","Address2","City","State","ZIP","Country","Phone"
"somedude@foobar.com","Some Dude","3129 golden bridge ave",,"somecity","somestate","somezip","usa","1234567890"

私が得るエラーは次のとおりです。

列 [NAME] がクエリに見つかりません。列は [Email,Name,Address1,Address2,City,State,ZIP,Country,Phone] です。

名前以外のものを出力するようにループを変更すると、機能します。でも名前が出てきません。columname を からNameに変更してもTheName、同じエラーが発生します。

列 [THENAME] がクエリに見つかりません。列は [Email,TheName,Address1,Address2,City,State,ZIP,Country,Phone] です。

しかし、繰り返しになりますが、メールアドレスやその他の列を出力するのに問題はありません. CSV 内の列の場所を変更したり、プラスからcfloop queryプラスcfoutputに変更したりしcfoutput queryても、効果はありません。

クエリの場合cfdump、列はそこにあります。

4

2 に答える 2

5

CSV ファイルの先頭に改行を追加することで問題を再現できましたが、列ヘッダー行の解析に問題がある場合はいつでも同じエラーが表示されます。

于 2012-09-05T21:13:01.223 に答える
1

CSV の形式に問題があり、正確な問題を特定できませんでした。この問題を解決するために、CSV をタブ区切りのテキスト ファイルとして再エクスポートし、それを Calc で開き、タブ区切り形式で保存しました。今では動作します。元のファイルの何が問題だったのか知りたいです。

于 2012-09-05T20:39:28.607 に答える