- 私の後に数字だけを返します。文字列は次のような文字列を分離しようとしているseparatedBy
let path = "/Users/user/Downloads/history.csv"
do {
let contents = try NSString(contentsOfFile: path, encoding: String.Encoding.utf8.rawValue)
let rows = contents.components(separatedBy: "\n")
print("contents: \(contents)")
print("rows: \(rows)")
}
catch {
}
私はほとんど同じで見ている2つのファイルを、持っています。 最初のファイルからの出力は、このようなものです:print(content)
があるので、だから、両方のファイルが文字列として読める
contents: 40.75013313,0.00064825,5/18/2017 7:17:01 PM
19.04004820,0.00059900,5/19/2017 9:17:03 PM
rows: ["4\00\0.\07\05\00\01\03\03\01\03\0,\00\0.\00\00\00\06\04\08\02\05\0,\05\0/\01\08\0/\02\00\01\07\0 \07\0:\01\07\0:\00\01\0 \0P\0M\0", "\0", "1\09\0.\00\04\00\00\04\08\02\00\0,\00\0.\00\00\00\05\09\09\00\00\0,\0\05\0/\01\09\0/\02\00\01\07\0 \09\0:\01\07\0:\00\03\0 \0P\0M\0", "\0", "\0", "\0"]
:
出力はFile1:
contents: 2017-07-31 16:29:53,0.10109999,9.74414271,0.98513273,0.15%,42302999779,-0.98513273,9.72952650
2017-07-31 16:29:53,0.10109999,0.25585729,0.02586716,0.25%,42302999779,-0.02586716,0.25521765
rows: ["2017-07-31 16:29:53,0.10109999,9.74414271,0.98513273,0.15%,42302999779,-0.98513273,9.72952650", "2017-07-31 16:29:53,0.10109999,0.25585729,0.02586716,0.25%,42302999779,-0.02586716,0.25521765", "", ""]
出力ファイル2ワーキング。 しかし、文字列が分離されるとすぐに、2番目のファイルはもう読み込めません。 私はさまざまなエンコーディングを試みましたが、何も機能しませんでした。誰もが考え、文字列を2番目のファイルに強制的に読み込み可能な文字列にする方法はありますか?
エンコードに関連している必要があります。生のcsvファイルをどこかにアップロードできますか? – nathan
これは以前に削除された質問https://stackoverflow.com/questions/45662712/problems-with-csv-file-typeに関連していますか? - 私が示唆したように 'CSVReader(ストリーム:ストリーム、コーデックタイプ:UTF16.self、エンディアン:.big/.little)を試しましたか? –
エンコーディングを自動的に検出するにはhttps://stackoverflow.com/questions/18851558/ios-whats-the-best-way-to-detect-a-files-encodingを参照してください。 –