10

我的 F: 驱动器上有一个 .csv 文件,在 Windows 7 64 位上,我想读入 pandas 并进行操作。

除了简单的文件名(例如'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 行。

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

4

6 回答 6

12

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

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)
于 2013-06-06T02:09:33.890 回答
4

这经常发生在我身上。通常我在 Excel 中打开 csv 文件,并将其保存为 xlsx 文件,它可以工作。

所以而不是

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

利用:

df = pd.read_excel(r"...\file.xlsx")
于 2018-04-13T15:44:09.880 回答
4

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

正确检查文件的路径

我最初有这样的路径

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)

这是因为我之前的路径不正确。希望你能解决

于 2017-03-11T02:31:04.197 回答
4

更好的解决方案是使用像 r'pathname\filename' 这样的文字字符串,而不是 'pathname\filename'。有关详细信息,请参阅词法分析。

于 2015-11-05T13:02:49.917 回答
2

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

于 2015-12-19T00:46:23.177 回答
-1

尝试这个:

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)
于 2020-12-13T08:08:18.670 回答