Фильтр CSV-файла по входу - PullRequest
0 голосов
/ 27 октября 2019

Мне нужно отфильтровать файл CSV по пользовательскому вводу и показать родственники данных ввода.

Я читал эту тему swift 3.1, как получить массив или словарь из CSV но здесь я должен указать координаты массива, мне нужно отфильтровать по определенному коду

CSV-файл выглядит так:

sku;name;price

1;shampoo;10,00

Я хочу выполнить поиск по sku иполучите имя и цену родственников для отображения в двух разных выходных данных.

это код:

import UIKit

class datiViewController: UIViewController {

@IBOutlet var textField: UILabel!
var datiPassati : String?

override func viewDidLoad() {
    super.viewDidLoad()
    textField.text = datiPassati
   var data = readDataFromCSV(fileName: "catalogocsv", fileType: "csv")
   data = cleanRows(file: data!)
    let csvRows = csv(data: data!)
    print(csvRows[3][1])
}


func readDataFromCSV(fileName:String, fileType: String)-> String!{
    guard let filepath = Bundle.main.path(forResource: fileName, ofType: fileType)
        else {
            return nil
    }
    do {
        var contents = try String(contentsOfFile: filepath, encoding: .utf8)
        contents = cleanRows(file: contents)
        return contents
    } catch {
        print("File Read Error for file \(filepath)")
        return nil
    }
}
func cleanRows(file:String)->String{
    var cleanFile = file
    cleanFile = cleanFile.replacingOccurrences(of: "\r", with: "\n")
    cleanFile = cleanFile.replacingOccurrences(of: "\n\n", with: "\n")
    return cleanFile
}
func csv(data: String) -> [[String]] {
    var result: [[String]] = []
    let rows = data.components(separatedBy: "\n")
    for row in rows {
        let columns = row.components(separatedBy: ";")
        result.append(columns)
        }
    return result
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...