繁体   English   中英

IPython Anaconda PyCharm Windows 8.1问题

[英]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)

在Ubunto 14.04的IPython 2.3.1中运行,效果很好。 然后,我在Windows 8.1上使用Anaconda 3和IPython安装了PyCharm,运行了完全相同的代码,并遇到以下错误:

Traceback (most recent call last):
  File "C:\Users\mikeronni\Anaconda3\lib\site-packages\IPython\core\interactiveshell.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:\Users\mikeronni\Anaconda3\lib\site-packages\pandas\tools\merge.py", line 724, in concat
    copy=copy)
  File "C:\Users\mikeronni\Anaconda3\lib\site-packages\pandas\tools\merge.py", line 769, in __init__
    raise ValueError('All objects passed were None')
ValueError: All objects passed were None

我尝试安装最新版本的pandas和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文件匹配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM