gpt4 book ai didi

python - Numpy-recarray,C#结构化数据

转载 作者:行者123 更新时间:2023-12-05 07:06:27 25 4
gpt4 key购买 nike

我用 C# 编写了一个数据使用者,它从 python API 脚本读取字符串数据。到目前为止,我发现性能最好的方法是将数据放入 python 中的 numpy-recarray,将其打印到控制台并使用 StreamReader 读取。

我在读取 C# 例程中得到以下字符串。这是一长串(7,000 条记录)股票报价(日期、开盘价、最高价、最低价、收盘价)。没有回车,没有换行。

[(datetime.date(2020, 6, 1), 29.80, 30.65, 29.45, 30.24), (datetime.date(2020, 6, 2), 30.49, 31.43, 30.19, 31.17)...]

我现在需要以某种方式将其解析为可轻松用于将此数据插入 SQL 数据库的内容。我知道如何从列表、数组等进行插入。我可以看到一个强力解析路由,它逐个字符地读取这个字符并将记录重建到一个列表中。那么SQL批量插入就很容易了。

我觉得可能有更好的方法来改变 python 控制台编写器,以一种可以使用 Linq 或其他一些赋值转换为 C# 中的列表的格式来编写这个长字符串。我对从哪里开始有点困惑。有什么建议吗?

最佳答案

你可能会对 pandas 生成的 csv 更满意:

只是粗略地给你一个元组列表:

In [25]: alist = [(datetime.date(2020, 6, 1), 29.80, 30.65, 29.45, 30.24), (date
...: time.date(2020, 6, 2), 30.49, 31.43, 30.19, 31.17)]
In [26]: alist
Out[26]:
[(datetime.date(2020, 6, 1), 29.8, 30.65, 29.45, 30.24),
(datetime.date(2020, 6, 2), 30.49, 31.43, 30.19, 31.17)]

In [28]: import pandas as pd
In [29]: df=pd.DataFrame(alist)
In [30]: df
Out[30]:
0 1 2 3 4
0 2020-06-01 29.80 30.65 29.45 30.24
1 2020-06-02 30.49 31.43 30.19 31.17
In [31]: df.to_csv('test.csv')
In [32]: cat test.csv
,0,1,2,3,4
0,2020-06-01,29.8,30.65,29.45,30.24
1,2020-06-02,30.49,31.43,30.19,31.17

您可以使用或不使用列标题和行索引来优化输出。

还有一个 numpy savetxt 可以更有效地与这样的结构化数组一起使用。

关于python - Numpy-recarray,C#结构化数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62493970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com