F#:如何使用 SQL 数据源创建 Deedle Frame

2023-11-24

我试图找出当数据来自 SQL 服务器时,在 F# 中创建 Deedle 框架的最佳方法是什么。我尝试过类似以下的事情。

#I "../packages/Deedle.0.9.12"
#load "Deedle.fsx"

#r "System.dll"
#r "System.Data.dll"
#r "System.Data.Linq"
#r "FSharp.Data.TypeProviders.dll"

open System
open System.Data
open System.Data.Linq
open Microsoft.FSharp.Data.TypeProviders
open Deedle

type dbSchema = SqlDataConnection<"Data Source=server;Initial     Catalog=database;Integrated Security=SSPI;">
let db = dbSchema.GetDataContext()

let fr = db.SomeTable |> Frame.ofRows

以及其他一些变体。但没有运气。就此而言,我对 F# 和 Deedle 都是新手。 我可以明白为什么上面的方法不起作用(Frame.ofRows 与参数不兼容),但我不知道继续的最佳方法是什么(甚至不知道如何继续)。


The Frame.ofRows函数需要一系列代表帧的各个行的序列。类似于Frame.ofColumns,如果您已经拥有一些系列对象(或者如果您从头开始创建所有内容),则此函数非常有用。他们接受类型的输入seq<'TRowKey * ISeries<'TColKey>>.

当您从某些 .NET 数据结构创建 Deedle 框架时,您可以使用Frame.ofRecords它将适用于任何序列,并且它将使用反射来获取属性的名称(并将它们视为列名称)。

解释很长,但代码中只有几个字符发生了变化:-)。我用 Northwind 测试过:

type Nwind = SqlDataConnection<"""Data Source=.\SQLExpress;
  Initial Catalog=Northwind;Integrated Security=SSPI;""">
let db = Nwind.GetDataContext()

// Create data frame from Products table (with appropriate column names)
let fr = db.Products |> Frame.ofRecords

结果是:

      ProductID ProductName                      SupplierID CategoryID QuantityPerUnit     UnitPrice UnitsInStock UnitsOnOrder ReorderLevel Discontinued OrderDetails                               Categories Suppliers 
0  -> 1         Chai                             1          1          10 boxes x 20 bags  18.0000   39           0            10           False        System.Data.Linq.EntitySet`1[OrderDetails] Categories Suppliers 
1  -> 2         Chang                            1          1          24 - 12 oz bottles  19.0000   17           40           25           False        System.Data.Linq.EntitySet`1[OrderDetails] Categories Suppliers 
2  -> 3         Aniseed Syrup                    1          2          12 - 550 ml bottles 10.0000   13           70           25           False        System.Data.Linq.EntitySet`1[OrderDetails] Categories Suppliers 
3  -> 4         Chef Anton's Cajun Seasoning     2          2          48 - 6 oz jars      22.0000   53           0            0            False        System.Data.Linq.EntitySet`1[OrderDetails] Categories Suppliers 
4  -> 5         Chef Anton's Gumbo Mix           2          2          36 boxes            21.3500   0            0            0            True         System.Data.Linq.EntitySet`1[OrderDetails] Categories Suppliers 
(....)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

F#:如何使用 SQL 数据源创建 Deedle Frame 的相关文章

  • MySQL #1093 - 您无法在 FROM 子句中指定用于更新的目标表“赠品”

    I tried UPDATE giveaways SET winner 1 WHERE ID SELECT MAX ID FROM giveaways 但它给出了 1093 您无法指定目标表 赠品 进行更新FROM clause 本文 ht
  • 表达与空列表相同的 IN 条件的可移植方式是什么?

    例如 工作于sqllite3 select from orders where custid and status in 但它失败了postgres ksysdb select code applicable objecttype from
  • 显示一个表中的所有记录以及另一表中的匹配记录

    您好 我有一张下表 其中记录了活动和积分 Activites A ID Site ActivityValue ActivityName 1 site1 7 ActivityName1 2 site1 6 ActivityName2 2 si
  • 日志中每天的每周活跃用户数

    我想知道是否有人可以帮助我使用一些 SQL 来返回两天或更长时间内登录到数据库表的唯一用户数量 让我们使用 7 天作为参考 我的日志表在每一行中包含时间戳 ts 和 user id 表示该用户当时的活动 以下查询返回此日志中的每日活跃用户数
  • 数据库级别的别名列名 [MySQL]

    别名 可能是错误的词 因为它是在将列 表名称作为查询中的其他名称引用的上下文中使用的 我感兴趣的是是否有一种方法可以在数据库中为列指定两个名称 如果我要打印这样的表格 它看起来会是这样的 mysql gt SELECT FROM User
  • VS 13/VS 15 - 无法导入 SQL 片段

    我想在中创建 SQL 片段VS2013 and VS2015 我不知道为什么 但我在导入时遇到错误 在两个 VS 中 C sql snippet Missing or unspecified Language attribute 我的片段
  • postgresql 中的锁定表

    我有一个名为 games 其中包含一个名为 title 该列是唯一的 数据库中使用PostgreSQL 我有一个用户输入表单 允许他插入新的 game in games 桌子 插入新游戏的功能会检查之前输入的游戏是否存在 game 与相同的
  • 如何在 DataColumn.Expression 中使用 IF/ELSE 或 CASE?

    我有一个包含 1 列的表 状态 我想添加另一列名为 Action 的列 其值如下 如果 Status Yes 则 Action Go 否则 Action Stop 我使用以下代码添加到 操作 列中 但它不起作用 myDataTable Co
  • 在 where 子句中使用聚合函数和不同的列条件

    select PO Order Qty Avg PO Order Qty as totalAverage FROM FirstStrike Retail custom Whse Pricing QR where item code 111
  • 如何使用sql脚本更改列的属性

    如何使用 sql 脚本更改列的属性 这是我尝试过但出现错误的方法 ALTER TABLE dbo tblBiometricPattern COLUMN BiometricPatternID TINYINT NOT NULL IDENTITY
  • 如何在事务中使用链接服务器插入远程表?

    我的链接服务器设置正确 我能够执行以下查询 插入 远程服务器 表 SELECT FROM 本地服务器 表 然而当我做同样的事情时交易内 开始传输 插入 远程服务器 表 SELECT FROM 本地服务器 表 提交交易 我收到类似的错误 用于
  • Oracle - 获取星期几

    今天是星期二 为什么当我运行这个 SQL 语句时 它说今天不是星期二 SELECT CASE WHEN TO CHAR sysdate Day Tuesday THEN Its Tuesday ELSE Its Not Tuesday EN
  • 每行中非空列的计数

    我有一个包含 4 列的表 在第 5 列中我想存储前 4 列中有多少个非空列的计数 例如 其中 X 是任意值 Column1 Column2 Column3 Column4 Count X X NULL X 3 NULL NULL X X 2
  • 如何在 SQL Server 中保持数据行内

    我正在尝试找出如何检测数据是否在VARCHAR n SQL Server 2008 中的列存储在行内或行外 有谁知道如何做到这一点 另外 如果我们需要数据 有没有办法将数据保持在行中 要查看某个值是行内还是行外 您可以使用DBCC PAGE
  • Postgresql 串行错误自动增量

    我在 postgresql 上遇到问题 我认为 postgresql 中有一个错误 我错误地实现了一些东西 有一个表包括colmn1 primary key colmn2 unique colmn3 插入一行后 如果我尝试使用现有的另一次插
  • 优化 LATERAL join 中的慢速聚合

    在我的 PostgreSQL 9 6 2 数据库中 我有一个查询 该查询根据一些股票数据构建计算字段表 它为表中的每一行计算 1 到 10 年的移动平均窗口 并将其用于周期性调整 具体来说 CAPE CAPB CAPC CAPS 和 CAP
  • 使用转义换行符和回车符取消转义字符串

    我正在尝试编写一个 PLPGSQL 函数来混淆 审查 编辑文本 Obfuscate a body of text by replacing lowercase letters and numbers with symbols CREATE
  • 如何将彼此“接近”的纬度/经度点分组?

    我有一个用户提交的纬度 经度点的数据库 并且正在尝试将 接近 点分组在一起 接近 是相对的 但目前看来约为 500 英尺 起初 我似乎只能按前 3 个小数位具有相同纬度 经度的行进行分组 大约是一个 300x300 的盒子 了解当您远离赤道
  • 唯一约束与唯一索引?

    之间有区别吗 CREATE TABLE p product no integer name text UNIQUE price numeric and CREATE TABLE p product no integer name text
  • F# 中的数组初始化

    如何根据给定的记录类型在 F 中创建和初始化数组 假设我想创建一个包含 100 个 record1 记录的数组 e g type record1 value1 string value2 string let myArray Array i

随机推荐

  • CLR/Fastcall:大值类型如何在内部传递给被调用函数?

    只是出于好奇 值类型通常是复制的 并且 JIT 编译器在调用方法时似乎使用 Microsoft 的 Fastcall 调用约定 这会将前几个参数放入寄存器中 以便快速访问 但是大值类型 即大于寄存器的大小或堆栈的宽度 如何传递给被调用的函数
  • 如何让 USB 控制器/游戏手柄与 python 一起工作

    我有一个 USB 控制器 我正在尝试从 Microsoft SideWinder 即插即用游戏手柄获取输入 我在尝试弄清楚如何正确接收其输入时遇到困难 不幸的是 我无法使用 pygame 因为它需要一个窗口来接收输入 但我必须生成一个 py
  • 反向代理的 nginx url 重写

    我在端口 80 上有一个 nginx 在端口 8080 上有一个 tomcat 配置为上游 tomcat中的war应用程序监听 pwm 我想将nginx配置为tomcat的反向代理并将url 重写为 pwm 例子 用户在浏览器中输入 web
  • 访问默认电子邮件地址

    我在 3 0 中使用 MFMailComposeViewController 在我的应用程序中发送带有附件等的电子邮件 我希望 收件人 地址默认为设备上的默认帐户 地址 如何访问此地址并将其放入 setToRecipients 的字符串中
  • dart 中构造函数后面的冒号

    该代码来自 flutter gallery 我正在尝试理解和调整它 我想知道这个语法的含义 class DemoItem
  • 如何表达两个值不相等?

    有没有类似的方法equals 表示 不等于 我想要完成的示例如下 if secondaryPassword equals initialPassword JOptionPane showMessageDialog null You ve s
  • zsh Git 信息中的星号

    我用我的终端来运行类似的东西npm run start当我在 VSCode 中使用终端时git命令 在我的笔记本电脑上 这工作得很好 但是在我的其他设备上设置 zsh 后 有一些我从未注意到的事情 在我的终端上 Desktop master
  • PHP中的内存映射文件,php://temp 和 php://memory 有什么区别

    我需要一种在 PHP 中非常简单地在内存中存储文件的方法 该文件正在构建 然后立即发送到另一个 Web 服务 我看到从 PHP 5 1 开始php temp and php memory流是可用的 但两者之间似乎没有太大区别 php tem
  • Panda read_csv 中的编码错误[重复]

    这个问题在这里已经有答案了 我正在尝试将 CSV 文件读入 Pandas 中的 Dataframe 中 当我尝试这样做时 出现以下错误 UnicodeDecodeError utf 8 编解码器无法解码位置 55 中的字节 0x96 无效的
  • 了解 Scala 中的“推断类型参数不符合类型参数边界”错误

    我无法理解为什么我收到 推断的类型参数不符合类型参数界限 首先 我定义了一个名为 CS 的特征 它可以由多个类 例如 CS01 和 CS02 实现 trait CS T lt CS T this T gt def add T def rem
  • 使用 IJava 的 Google Colab 笔记本在安装 + 刷新后卡在“正在连接”

    在初始 IJava 安装和浏览器页面刷新后 我的所有笔记本都停止连接 以前做什么工作 执行第一个单元格 wget https github com SpencerPark IJava releases download v1 3 0 ija
  • 有没有办法在更改横向方向后转换坐标系?

    在基于视图的 iPhone OS 应用程序中 我将方向从初始纵向更改为纵向横向 UIInterfaceOrientationLandscapeRight 但现在 x y 原点 0 0 位于左下角角 而不是通常的左上角 每次我想做一些涉及坐标
  • 是否有希望将ForeignPtr转换为ByteArray#(对于函数::ByteString -> Vector)

    出于性能原因 我想要一个零拷贝的转换ByteString 目前严格 Vector 自从Vector只是一个ByteArray 在引擎盖下 以及ByteString is a ForeignPtr这可能看起来像 caseBStoVector
  • 将多边形坐标从 Double 转换为 Long 以与 Clipper 库一起使用

    我有两个多边形 它们的顶点存储为双坐标 我想找到这些多边形的相交区域 所以我正在查看快船库 C 版本 问题是 Clipper 只适用于整数数学 它使用 Long 类型 有没有一种方法可以安全地使用相同的比例因子变换我的两个多边形 将它们的坐
  • Java 的 Groovy 超集 [重复]

    这个问题在这里已经有答案了 Groovy 是 Java 的超集吗 如果不是 Groovy 和 Java 之间有哪些不兼容之处 我所说的超集是指源代码向后兼容性 即 您可以获取一个 Java 文件并将其编译为 Groovy 源文件 并且它会像
  • 如何使 相同的高度

    我试图将一个元素放在一个元素的左侧 但是我似乎无法使它们具有相同的高度并彼此对齐 跨度似乎总是定位得稍高一些 有人有什么想法吗 闪闪发光 编辑 HTML 部分
  • 未找到 Gradle DSL 方法:“multiDexEnabled()”

    我遵循了 multidex 指南https developer android com tools building multidex html 但我收到这个错误未找到 Gradle DSL 方法 multiDexEnabled 我更新了
  • Response.WriteFile -- 写出字节流

    是否可以使用 Response Write WriteFile 从动态创建的位图写入 http 响应流 而不将图像保存到硬盘驱动器 您可以使用MemoryStream并将其分配给Response OutputStream 或者简单地使用Re
  • 如何通过.properties文件使@RequestParam可配置?

    我们如何通过 properties 文件进行以下配置 RequestParam value page required false defaultValue 0 Integer page RequestParam value size re
  • F#:如何使用 SQL 数据源创建 Deedle Frame

    我试图找出当数据来自 SQL 服务器时 在 F 中创建 Deedle 框架的最佳方法是什么 我尝试过类似以下的事情 I packages Deedle 0 9 12 load Deedle fsx r System dll r System