我想从一个目录中读取几个 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])
当你将一个元素附加到列表时,我认为你应该添加 df 而不是文件名,如下所示:
df_list.append(df)
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)
这是我解决问题的方法。