如何读取pandas文件夹中的所有spss文件?并连接它们

问题描述 投票:0回答:2

我想从一个目录中读取几个 SAV 文件(SPSS)到 pandas 中,并将它们连接成一个大的 DataFrame。我一直无法弄清楚。这是我到目前为止所拥有的:

    path = r'\C:\abc\path'
    all_files = glob.glob(path + "\*.sav")
    
    df_list = []
    
    for filename in all_files:
        df = pd.read_spss(filename,convert_categoricals=False)
        df_list.append(filename)
    
    pd.concat(df_list)

我收到以下错误。

OverflowError: date value out of range

下面的代码运行良好,但是当我遍历文件并读取它们时出现错误。

df = pd.read_spss(all_files[0])

python python-3.x spss
2个回答
0
投票

当你将一个元素附加到列表时,我认为你应该添加 df 而不是文件名,如下所示:

df_list.append(df)

0
投票
import pandas as pd
import glob

path = r'\C:\abc\path'
all_files = glob.glob(path + "\*.sav")

df_list = []

for filename in all_files:
    df = pd.read_spss(filename, convert_categoricals=False, dates_as_pandas_datetime=False)
    df_list.append(df)

merged_df = pd.concat(df_list, axis=0)

这是我解决问题的方法。

© www.soinside.com 2019 - 2024. All rights reserved.