#python #csv #google-colaboratory #opencsv
#python #csv #google-colaboratory #opencsv
Вопрос:
Всем доброго дня. У меня есть CSV-файл, который я хочу прочитать со своего диска. Для этого я использую colab. Тем не менее, я использую Excel для настройки csv-файла, но когда я указываю местоположение в своем colab, он по-прежнему показывает .xlsx с ним, и у меня есть эта ошибка ниже:
ParserError Traceback (most recent call last)
<ipython-input-4-b8dede7d2e2c> in <module>()
7
8 #load dataset
----> 9 dataset = pd.read_csv('/content/mnt/MyDrive/Colab Notebooks/salary_data.csv.xslx')
10
11 # split data into features and target
3 frames
/usr/local/lib/python3.6/dist-packages/pandas/io/parsers.py in read(self, nrows)
2155 def read(self, nrows=None):
2156 try:
-> 2157 data = self._reader.read(nrows)
2158 except StopIteration:
2159 if self._first_chunk:
pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader.read()
pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader._read_low_memory()
pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader._read_rows()
pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader._tokenize_rows()
pandas/_libs/parsers.pyx in pandas._libs.parsers.raise_parser_error()
ParserError: Error tokenizing data. C error: Expected 1 fields in line 4, saw 2
Это приведенный ниже код: model.ipynb
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
import pickle
from sklearn.metrics import r2_score
#load dataset
dataset = pd.read_csv('/content/mnt/MyDrive/Colab Notebooks/salary_data.csv .xslx')
# split data into features and target
X = dataset.iloc[:, :-1].values
y = dataset.iloc[:, 1].values
#split the data into train and test set
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.05, random_state = 0)
# create a model
regressor = LinearRegression()
#train the model
regressor.fit(X_train, y_train)
#perform prediction
y_pred = regressor.predict(X_test)
# you can check the peformance of the model from the following code
#print("R2 score: {}".format(r2_score(y_test,y_pred)))
#save the trained model
pickle.dump(regressor, open('/content/mnt/MyDrive/Colab Notebooks/regressor.pkl','wb'))
Помогите мне с этим, пожалуйста. Спасибо
Комментарии:
1. если он показывает это как
.xslx
, то, возможно, у вас все еще есть Excel, и вам следует использоватьread_excel()
вместо этого, еслиread_csv()
2. если это настоящий csv, вы можете открыть его в любом текстовом редакторе и проверить, есть ли у вас правильные данные. ИЛИ, может быть, вы использовали разделитель, отличный от запятой, и теперь вам придется использовать тот же разделитель в
read_csv(..., sep=...)
3. Спасибо, это работает
Ответ №1:
Прежде всего, похоже, что в вашем path есть ошибка. В конце есть пробел.
('/content/mnt/MyDrive/Colab Notebooks/salary_data.csv .xslx')
Во-вторых, является ли файл на самом деле .csv или .xslx? У него оба окончания, поэтому он немного неоднозначен.
Если это файл .csv, вы должны удалить .xslx из конца имени файла и пути.
Если это файл .xlsx, вы можете использовать read_excel()
вместо read_csv()
или преобразовать в CSV в Excel. Откройте файл .xslx в Excel -> перейти к файлу -> сохранить как -> CSV.