Python 如何以不同的文件格式读取文件格式?e、 g.-SAV作为CSV

Python 如何以不同的文件格式读取文件格式?e、 g.-SAV作为CSV,python,pandas,spss,Python,Pandas,Spss,所以在我的工作中,我们必须使用.sav文件(SPSS文件)。出于标准化目的的理由。 我很好奇,我是否可以将SPSS/.sav文件作为csv读入pandas中,并从本质上绕过将其作为sav读入 例如,当我在中读取文件,然后转换为csv时,我通常会这样做: df = pd.read_spss('filepath.sav') df.to_csv('filepath.csv') df = pd.read_csv('filepath.csv') 这是非常低效和缓慢的,因为读取.sav文件是一个缓慢/耗时

所以在我的工作中,我们必须使用.sav文件(SPSS文件)。出于标准化目的的理由。 我很好奇,我是否可以将SPSS/.sav文件作为csv读入pandas中,并从本质上绕过将其作为sav读入

例如,当我在中读取文件,然后转换为csv时,我通常会这样做:

df = pd.read_spss('filepath.sav')
df.to_csv('filepath.csv')
df = pd.read_csv('filepath.csv')
这是非常低效和缓慢的,因为读取.sav文件是一个缓慢/耗时的过程


所以我想知道的是,我是否可以将.sav文件作为.csv文件读取,而不需要先将其作为.sav文件读取?

您可能会感兴趣。简而言之,它指向了C库ReadStat的包装器,该包装器读取SPSS文件的速度比pandas快得多


他们的GitHub repo的链接是

不是pd.read\u spss会像pd.read\u csv一样返回数据帧吗?

是的,但是我尝试使用像dask/modin/ray这样的插件来加快处理速度,这些插件不允许.sav文件。这个插件是否使用pickle read csv函数,您可以编辑它。或者它使用了一个你可以从spss中下载的数据框。我问第二个问题是因为你将结果存储在我相信的数据帧中?然后您可能会提供给插件。或者完全是别的什么?我不认为是。真的,我愿意尝试任何可以更快地读取sav文件的方法。我能不能看sav's?你到底在干什么?您正在使用DataFrame参数调用函数吗?我不知道你想改变什么。如果您只是pd.read_spss(PATH),那么它将为您提供与包含相同数据的.csv文件相同的数据输出。我想,在查看文件时,它看起来与您的情况不同。我使用pyreadstat,但我尝试将.sav文件作为.csv读取,以便可以使用modin/ray/dask之类的插件。当前,关于读取spss文件的性能存在一个未解决的问题:。请提供一个样本文件进行调查。否则,我认为你的要求是不可能的:spss和csv文件非常不同,所以csv程序对你没有帮助。你能做的就是将spss文件保存为csv副本,并将csv用于你的工作。pyreadstat的1.0.3版提高了性能,因此您可以再次尝试pandas.read_spss。此外,pyreadstat现在有了一个新版本read_file_multiprocessing,可以在并行进程中读取文件,从而使事情变得更好。要使用后者,您需要使用pyreadstat,因为pandas不公开该功能。