单行加载和保存到各种文件格式(csv、wav、pkl、json)
loadsave的Python项目详细描述
数据存储
当前支持的文件结构:csv wav json pickle
基于文件扩展名加载和保存数据结构的python模块。
依赖性
- python3(和本地库)
- json
- CSV
- 波浪
- 结构
- 重要提示
- 操作系统
- 泡菜
安装
pip install loadsave
使用量
import loadsave
data = loadsave.load(filename)
... manipulating data ...
loadsave.save(data, filename)
保存数据可能有点不直观。
csv
要求数据是字典列表wav
要求数据是一个元组或形式的列表(y,sr)
正是load('example.wav')
返回它的方式
目标
本模块试图遵循通用过程,仅使用文件扩展名来读取和写入常用数据存储格式,以获得指导。
这里的动机如下:大多数情况下,打开文件的最通用方法将起作用。这可能不是计算效率最高的方法,但是如果加载时间不是工作流的瓶颈,那么您最好花时间处理数据,而不是找出如何将其加载到python中。数据存储的目标是尽可能快地实现这些通用方法。如果不管用,至少你没浪费太多时间。否则,你只是跳过了一个单调的任务,可以继续真正的工作。
示例
import loadsave
d = [{'id': [1,2,3,4],'otherID':[4,3,2,1]}]
# save this dict as a pickle
loadsave.save(d, 'test.pkl')
'test.pkl'
可以替换为'test.json'
,或者'test.csv'
。尝试将其保存到'test.wav'
将返回错误,因为d
不是音频波形的可接受格式。
但是,如果d = [0,1,2,3,4]
,您可以调用loadsave.save((d,44100),'test.wav')
。csv
s需要一个字典列表,因此尝试将this保存为csv将失败
文件类型
csv
- 这只是csv.dictreader()/csv.dictwriter()的包装
- 数据必须是字典列表
wav
- 限制为16位音频
- 可处理立体声/多声道波形
- 数据必须是表单的列表或元组(波形,samplerate),就像它是从
loadsave.load('example.wav')
提供的一样。
- 这应该适用于python中的任何数据结构。
json
- 可以
dict
,list
,str
,int
,float
,bool
,和None