【问题标题】:Google colab open csv file谷歌 colab 打开 csv 文件
【发布时间】:2019-11-02 23:16:13
【问题描述】:

我尝试通过这种方式在 google csv 上打开 .csv 文件

import pandas as pd
from google.colab import files
uploaded = files.upload()

for fn in uploaded.keys():
print('User uploaded file "{name}" with length {length} bytes'.format(
name=fn, length=len(uploaded[fn])))

import io
df = pd.read_csv(io.StringIO(uploaded['test.csv'].decode('utf-8')))

但我得到了一个错误:


ParserError                               Traceback (most recent call last)
<ipython-input-6-7c1e8871ef06> in <module>()
      1 import io
----> 2 df = pd.read_csv(io.StringIO(uploaded['test.csv'].decode('utf-8')))
      3 print(df)

/usr/local/lib/python3.6/dist-packages/pandas/io/parsers.py in parser_f(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, escapechar, comment, encoding, dialect, tupleize_cols, error_bad_lines, warn_bad_lines, skipfooter, skip_footer, doublequote, delim_whitespace, as_recarray, compact_ints, use_unsigned, low_memory, buffer_lines, memory_map, float_precision)
    707                     skip_blank_lines=skip_blank_lines)
    708 
--> 709         return _read(filepath_or_buffer, kwds)
    710 
    711     parser_f.__name__ = name

/usr/local/lib/python3.6/dist-packages/pandas/io/parsers.py in _read(filepath_or_buffer, kwds)
    453 
    454     try:
--> 455         data = parser.read(nrows)
    456     finally:
    457         parser.close()

/usr/local/lib/python3.6/dist-packages/pandas/io/parsers.py in read(self, nrows)
   1067                 raise ValueError('skipfooter not supported for iteration')
   1068 
-> 1069         ret = self._engine.read(nrows)
   1070 
   1071         if self.options.get('as_recarray'):

/usr/local/lib/python3.6/dist-packages/pandas/io/parsers.py in read(self, nrows)
   1837     def read(self, nrows=None):
   1838         try:
-> 1839             data = self._reader.read(nrows)
   1840         except StopIteration:
   1841             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 19, saw 2

如何在 google colab 上打开 .csv 文件

【问题讨论】:

  • 请将错误信息作为文本包含在您的问题中,而不是图片。

标签: python pandas csv google-colaboratory


【解决方案1】:

你不需要StringIO,test.csv文件已经上传到那里了。

import pandas as pd
from google.colab import files
uploaded = files.upload()

df = pd.read_csv('test.csv')

【讨论】:

    【解决方案2】:

    将你的文件添加到谷歌驱动器并尝试这个

    !pip install -U -q PyDrive
    
    from pydrive.auth import GoogleAuth
    from pydrive.drive import GoogleDrive
    from google.colab import auth
    from oauth2client.client import GoogleCredentials
    
    # 1. Authenticate and create the PyDrive client.
    auth.authenticate_user()
    
    gauth = GoogleAuth()
    gauth.credentials = GoogleCredentials.get_application_default()
    drive = GoogleDrive(gauth)
    
    file_list = drive.ListFile({'q': "'<FOLDER ID>' in parents and trashed=false"}).GetList()
    for file1 in file_list:
      print('title: %s, id: %s' % (file1['title'], file1['id']))
    
    
    title: train.csv, id: <TRAIN_FILE_ID>
    title: test.csv, id: <TEST_FILE_ID>
    
    train_downloaded = drive.CreateFile({'id': '<TRAIN_FILE_ID>'})
    train_downloaded.GetContentFile('train.csv')
    test_downloaded = drive.CreateFile({'id': '<TEST_FILE_ID>'})
    test_downloaded.GetContentFile('test.csv')  
    
    import pandas as pd
    import numpy as np
    df_train = pd.read_csv('train.csv')
    df_train
    

    详情见链接

    http://nali.org/load-google-drive-csv-panda-dataframe-google-colab/

    【讨论】:

      猜你喜欢
      • 2020-01-10
      • 1970-01-01
      • 2021-04-23
      • 2021-05-14
      • 1970-01-01
      • 2020-10-31
      • 2018-08-31
      • 2018-11-08
      • 1970-01-01
      相关资源
      最近更新 更多