@@ -3,6 +3,8 @@ package org.jetbrains.kotlinx.dataframe.api
3
3
import org.jetbrains.kotlinx.dataframe.AnyBaseColumn
4
4
import org.jetbrains.kotlinx.dataframe.AnyCol
5
5
import org.jetbrains.kotlinx.dataframe.AnyFrame
6
+ import org.jetbrains.kotlinx.dataframe.Column
7
+ import org.jetbrains.kotlinx.dataframe.ColumnsSelector
6
8
import org.jetbrains.kotlinx.dataframe.DataColumn
7
9
import org.jetbrains.kotlinx.dataframe.DataFrame
8
10
import org.jetbrains.kotlinx.dataframe.DataRow
@@ -14,6 +16,7 @@ import org.jetbrains.kotlinx.dataframe.impl.api.mapNotNullValues
14
16
import org.jetbrains.kotlinx.dataframe.impl.asList
15
17
import org.jetbrains.kotlinx.dataframe.impl.columnName
16
18
import org.jetbrains.kotlinx.dataframe.impl.columns.guessColumnType
19
+ import org.jetbrains.kotlinx.dataframe.impl.columns.toColumns
17
20
import org.jetbrains.kotlinx.dataframe.index
18
21
import org.jetbrains.kotlinx.dataframe.io.read
19
22
import org.jetbrains.kotlinx.dataframe.typeClass
@@ -47,6 +50,11 @@ public inline fun <reified T> DataColumn<T>.read(): AnyCol = when (kind()) {
47
50
}
48
51
}
49
52
53
+ public fun <T > DataFrame<T>.read (columns : ColumnsSelector <T , * >): DataFrame <T > = replace(columns).with { it.read() }
54
+ public fun <T > DataFrame<T>.read (vararg columns : String ): DataFrame <T > = read { columns.toColumns() }
55
+ public fun <T > DataFrame<T>.read (vararg columns : KProperty <* >): DataFrame <T > = read { columns.toColumns() }
56
+ public fun <T > DataFrame<T>.read (vararg columns : Column ): DataFrame <T > = read { columns.toColumns() }
57
+
50
58
@JvmName(" toDataFrameT" )
51
59
public fun <T > Iterable<DataRow<T>>.toDataFrame (): DataFrame <T > {
52
60
var uniqueDf: DataFrame <T >? = null
0 commit comments