我正在运行这段代码
import pandas as pd
import numpy as np
import glob
import csv
import os
import sys
##Combine all student CSVs from NWEA into one CSV with export
##from http://stackoverflow.com/questions/20906474/import-multiple-csv-files-into-python-pandas-and-concatenate-into-one-dataframe
path = r'NWEA CSVs/Raw/*'
allFiles = glob.glob(path + "/StudentsBySchool.csv")
Sframe = pd.DataFrame()
SframeDup = pd.DataFrame()
list = []
for file in allFiles:
sdf = pd.read_csv(file,index_col=None, header=0)
list.append(sdf)
Sframe = pd.concat(list,ignore_index=False)
在 IPython 2.3.1 中的 Ubunto 14.04 中,它工作得很好。然后,我在Windows 8.1上安装了带有Anaconda 3和IPython的PyCharm,运行完全相同的代码,并遇到了以下错误:
Traceback (most recent call last):
File "C:UsersmikeronniAnaconda3libsite-packagesIPythoncoreinteractiveshell.py", line 2883, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-11-184a20117d62>", line 18, in <module>
Sframe = pd.concat(list,ignore_index=False)
File "C:UsersmikeronniAnaconda3libsite-packagespandastoolsmerge.py", line 724, in concat
copy=copy)
File "C:UsersmikeronniAnaconda3libsite-packagespandastoolsmerge.py", line 769, in __init__
raise ValueError('All objects passed were None')
ValueError: All objects passed were None
我尝试安装最新版本的熊猫和IPython,但没有帮助。
问题出在这个表达式中:glob.glob(path + "/StudentsBySchool.csv")
.传递给 glob
函数的模式不会给您任何命中。这可能有几个原因:
-
pycharm
从不同的(意外的)工作目录启动python - 您没有将 CSV 文件复制到正确的文件夹
allFiles
是一个空列表,然后Sframe = pd.concat(list,ignore_index=False)
尝试连接一个空的数据框列表,这会产生错误。
我建议打印出os.path.abspath(os.curdir)
并path + "/StudentsBySchool.csv"
并验证此模式是否确实与您的 csv 文件匹配。