Python 从Windows 7上的F:drive将.csv读入熊猫

Python 从Windows 7上的F:drive将.csv读入熊猫,python,csv,pandas,Python,Csv,Pandas,我在Windows7 64位的F:drive上有一个.csv文件,我想读入并处理它 我看到的所有示例都是从简单的文件名(例如“foo.csv”)读取的 当我尝试此操作时,会收到一些错误消息,但这些消息并没有让我清楚地了解问题: import pandas as pd trainFile = "F:/Projects/Python/coursera/intro-to-data-science/kaggle/data/train.csv" trainData = pd.read_csv(train

我在Windows7 64位的F:drive上有一个.csv文件,我想读入并处理它

我看到的所有示例都是从简单的文件名(例如“foo.csv”)读取的

当我尝试此操作时,会收到一些错误消息,但这些消息并没有让我清楚地了解问题:

import pandas as pd

trainFile = "F:/Projects/Python/coursera/intro-to-data-science/kaggle/data/train.csv"
trainData = pd.read_csv(trainFile)
错误消息显示:

IOError: Initializing from file failed
我错过了一些简单的东西。有人能看到吗

更新:

我确实得到了更多这样的信息:

import csv

if __name__ == '__main__':
    trainPath = 'F:/Projects/Python/coursera/intro-to-data-science/kaggle/data/train.csv'
    trainData = []
    with open(trainPath, 'r') as trainCsv:
        trainReader = csv.reader(trainCsv, delimiter=',', quotechar='"')
        for row in trainReader:
            trainData.append(row)
    print trainData
我在读取时遇到权限错误。当我检查文件的属性时,我看到它是只读的。取消选中后,我成功地阅读了892行


现在熊猫也在工作。无需移动文件或修改路径。谢谢您的关注。

我不能保证这会奏效,但值得一试:

import pandas as pd
import os

trainFile = "F:/Projects/Python/coursera/intro-to-data-science/kaggle/data/train.csv"

pwd = os.getcwd()
os.chdir(os.path.dirname(trainFile))
trainData = pd.read_csv(os.path.basename(trainFile))
os.chdir(pwd)

更好的解决方案是使用文本字符串,如r'pathname\filename',而不是'pathname\filename'。有关详细信息,请参阅。

如果您确定路径正确,请确保没有其他程序打开该文件。我曾经遇到过一次错误,关闭Excel文件使错误消失。

我也遇到了同样的问题,并得到了解决

请正确检查文件的路径

我最初的路线是这样的

dfTrain = pd.read_csv("D:\\Kaggle\\labeledTrainData.tsv",header=0,delimiter="\t",quoting=3)
这返回了一个错误,因为路径是错误的。然后我更改了路径如下。这工作正常

dfTrain = dfTrain = pd.read_csv("D:\\Kaggle\\labeledTrainData.tsv\\labeledTrainData.tsv",header=0,delimiter="\t",quoting=3)

这是因为我之前的路径不正确。希望你能重新解决它。这种情况经常发生在我身上。通常我在Excel中打开csv文件,并将其另存为xlsx文件,它就可以工作了

所以不是

df = pd.read_csv(r"...\file.csv")
使用:

试试这个:

import os
import pandas as pd


trainFile = os.path.join('F:',os.sep,'Projects','Python','coursera','intro-to-data-science','train.csv' )
trainData = pd.read_csv(trainFile)

老实说,你最好的办法是移动文件…但是如果你不想这样做,试着使用
os
module切换到那个目录,然后调用'train.csv'你试过提供缓冲区而不是文件路径吗
pd.read_csv(open(trainFile))
@RyanSaxe我很确定你建议的东西和这个不一样,事实上,它不会起作用。怎么会不起作用呢?您使用
os.chdir
来更改文件目录并执行它……您更正的代码让我感到困惑。似乎您键入了两次
dfTrain=
\\labeledTrainData.tsv
,但如果您删除了这两个,则初始路径与此路径相同。我是不是遗漏了什么?
import os
import pandas as pd


trainFile = os.path.join('F:',os.sep,'Projects','Python','coursera','intro-to-data-science','train.csv' )
trainData = pd.read_csv(trainFile)