Swift:
Работа с CSV
Как это сделать:
Давайте прочитаем файл CSV и разберем его содержимое на Swift.
Сначала предположим, что у нас есть файл data.csv
с таким содержанием:
name,age,city
Alice,30,New York
Bob,25,Los Angeles
Вот базовый скрипт на Swift для чтения и разбора:
import Foundation
let csvContent = """
name,age,city
Alice,30,New York
Bob,25,Los Angeles
"""
var rows = csvContent.components(separatedBy: "\n")
let headers = rows.removeFirst().components(separatedBy: ",")
var data = [[String: String]]()
for row in rows {
let columns = row.components(separatedBy: ",")
var rowData = [String: String]()
for (header, column) in zip(headers, columns) {
rowData[header] = column
}
data.append(rowData)
}
print(data)
Пример вывода:
[["name": "Alice", "age": "30", "city": "New York"], ["name": "Bob", "age": "25", "city": "Los Angeles"]]
Подробнее
CSV существует с ранних дней компьютеров — используется для перемещения данных между программами, базами данных и системами. Существуют альтернативы, такие как JSON и XML, но CSV остается популярным из-за своей простоты. С точки зрения эффективности, методы String
в Swift хорошо справляются с CSV для небольших наборов данных, но для обработки данных в больших масштабах может потребоваться специализированная библиотека, такая как SwiftCSV или CodableCSV, для повышения производительности и удобства.
Смотрите также
- Документация Apple по манипуляциям со строками в Swift: https://developer.apple.com/documentation/swift/string
- SwiftCSV, специализированная библиотека CSV для Swift: https://github.com/swiftcsv/SwiftCSV
- CodableCSV, кодировщик/декодировщик CSV для Swift: https://github.com/dehesa/CodableCSV