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

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



慕田峪4524236
浏览 96回答 4
4回答

陪伴而非守候

我宁愿不将数据硬编码到 py 文件中。如果将它分开,则 py 文件将更加通用并且可以轻松传输到其他数据。一个单独的文件也可以更容易地替换数据集(“数据不易更改”可能仅意味着单个值是恒定的,而不是整个集合)。导入所需的资源可能会有所不同,具体取决于所使用的库和创建的对象类型(有关更多详细信息,请参见此处)。然而,这可能可以忽略不计,具体取决于数据的大小。考虑创建一个导入数据一次的函数,pickle(序列化)它并加载序列化的表单(只要数据不变,或者根据用户输入)。这对于大型数据集和其他一些似乎不适用于您的情况特别有用。

料青山看我应如是

如果 python 类的可读性不是问题(尽管最好的做法是尽可能保持代码的可读性),这里最大的问题是我们在谈论“多少”数据?如果您有数 GB 的数据,那么您不希望同时将所有这些都放在内存中(即,如果您只是将其作为常量保存在 .py 文件中会发生什么情况)。相反,对于如此大的数据,您希望在需要时从磁盘(可能是 csv)中读取它。当然,将其存储在磁盘中会影响性能,因为从磁盘读取比从内存读取慢。性能影响是否适合您的应用程序由您决定。确保可读性和良好性能的一个很好的中间方法可能是(假设您有足够的内存)将数据存储在 csv 中,在启动时一次读取所有数据并将其保存在内存中以供重复调用。

慕容3067478

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

汪汪一只猫

写入 csv 文件是更好的做法,因为它提高了整个代码的可读性。它不会影响你的表现,而且会让你受益匪浅。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python