Хранить табличные данные на Swift - PullRequest
6 голосов
/ 02 мая 2019

Я хотел бы знать, существует ли какая-либо структура данных или библиотека, которая позволила бы мне хранить табличные данные (и добавлять к ним новые данные), а такжеработать над ним (вычисления агрегации и т. д.).

В частности, я ищу что-то похожее на pandas (для Python).Прямо сейчас Мне не нужно рисовать таблицу данных , но только для хранения данных.

Например, представьте, что я хочу добавлять значения в таблицу каждые 5 секунд, чтобыкаждый час я собираю информацию в новую структуру данных.Было бы также хорошо, если бы была какая-либо библиотека графиков, например, matplotlib, но для быстрой работы.

Заранее большое спасибо

Ответы [ 3 ]

2 голосов
/ 23 мая 2019

Пожалуйста, проверьте https://github.com/Tylerc230/Raccon.

Это поддерживает серию с нарезкой и векторными операциями и датафреймами.

Надеюсь, это поможет.

2 голосов
/ 02 мая 2019

Может быть, это может вам помочь?

struct Table<T>{
    typealias Columns = [T]
    typealias Rows = [Columns]
    private var data: Rows = []

    mutating func appendRow(row: Columns){
        data.append(row)
    }

    func getRow(index: Int) -> Columns?{
        return data[safe: index]
    }
}

var intTable = Table<Int>()
intTable.appendRow(row: [1,2,3,4])
intTable.appendRow(row: [1,2,3])

var anyTable = Table<Any>()
anyTable.appendRow(row: ["Hello World", 12])
0 голосов
/ 24 мая 2019

Вы можете использовать SwiftyTextTable: https://github.com/scottrhoyt/SwiftyTextTable.

Это потрясающе и очень просто в использовании.Допустим, вы можете хранить данные в такой таблице.

/*
+-----+-----+-----+
| foo | bar | baz |
+-----+-----+-----+
| 1   | 2   | 3   |
| 11  | 22  | 33  |
+-----+-----+-----+
*/

Код Swift для хранения этих данных будет

// create columns

let column1 = TextTableColumn(header: "foo")
let column2 = TextTableColumn(header: "bar")
let column3 = TextTableColumn(header: "baz")

// Then create a table with the columns

var table = TextTable(columns: [column1, column2, column3])


// Then add some rows

table.addRow([1, 2, 3])
table.addRow([11, 22, 33])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...