为了账号安全,请及时绑定邮箱和手机立即绑定

我应该将数据保存在 .csv 文件中吗?

我应该将数据保存在 .csv 文件中吗?

慕田峪4524236 2022-12-14 21:12:21
我正在编写一个小的 .py 文件,其中包含一些稍后将重复导入到其他工作中的类。上面提到的 .py 文件使用了一些表格形式的小型数据库(以 KB 为单位)。您认为将这些数据存储在同一个 .py 文件中更好,还是将其保存在单独的 .csv 文件中更好?在性能和后期使用方便性方面有什么区别?我可能不得不提到的一点是,这些数据是数字的,将来不容易发生任何可能的变化。一次要从此数据访问单个项目。
查看完整描述

4 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

我宁愿不将数据硬编码到 py 文件中。如果将它分开,则 py 文件将更加通用并且可以轻松传输到其他数据。一个单独的文件也可以更容易地替换数据集(“数据不易更改”可能仅意味着单个值是恒定的,而不是整个集合)。

导入所需的资源可能会有所不同,具体取决于所使用的库和创建的对象类型(有关更多详细信息,请参见此处)。然而,这可能可以忽略不计,具体取决于数据的大小。

考虑创建一个导入数据一次的函数,pickle(序列化)它并加载序列化的表单(只要数据不变,或者根据用户输入)。这对于大型数据集和其他一些似乎不适用于您的情况特别有用。


查看完整回答
反对 回复 2022-12-14
?
料青山看我应如是

TA贡献1772条经验 获得超7个赞

如果 python 类的可读性不是问题(尽管最好的做法是尽可能保持代码的可读性),这里最大的问题是我们在谈论“多少”数据?如果您有数 GB 的数据,那么您不希望同时将所有这些都放在内存中(即,如果您只是将其作为常量保存在 .py 文件中会发生什么情况)。相反,对于如此大的数据,您希望在需要时从磁盘(可能是 csv)中读取它。

当然,将其存储在磁盘中会影响性能,因为从磁盘读取比从内存读取慢。性能影响是否适合您的应用程序由您决定。

确保可读性和良好性能的一个很好的中间方法可能是(假设您有足够的内存)将数据存储在 csv 中,在启动时一次读取所有数据并将其保存在内存中以供重复调用。


查看完整回答
反对 回复 2022-12-14
?
慕容3067478

TA贡献1773条经验 获得超3个赞

我的建议是以 Json 格式存储数据。就像在 MongoDb 中一样,通过采用 No-Sql 格式。这将帮助您轻松管理和控制数据。



查看完整回答
反对 回复 2022-12-14
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

写入 csv 文件是更好的做法,因为它提高了整个代码的可读性。它不会影响你的表现,而且会让你受益匪浅。



查看完整回答
反对 回复 2022-12-14
  • 4 回答
  • 0 关注
  • 94 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信