IPython Anaconda PyCharm Windows 8.1 Issue



我正在运行这段代码

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 文件匹配。

最新更新