Чтение CSV-файла из памяти с помощью colab

#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.