如何将 CSV 文件读取到 Jupyter Notebook 中

问题描述 投票:0回答:5

我在将 CSV 文件读入 Jupyter Notebook 时遇到问题。这是代码:

import pandas as pd
mpg = pd.read_csv('C:/Users/Ajibola/Documents/mpg.csv')
mpg.head()

这是我得到的错误:

File "<ipython-input-138-844bace16611>", line 1
    mpg = pd.read_csv('C:\Users\Ajibola\Documents\mpg.csv')
                     ^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

在 PATH 中添加 r 前缀后,出现错误:

---------------------------------------------------------------------------
UnicodeDecodeError                        Traceback (most recent call last)
<ipython-input-140-a1289650ba91> in <module>
----> 1 mpg = pd.read_csv(r'C:\Users\Ajibola\Documents\mpg.csv')
      2 mpg.head()

~\Anaconda3\lib\site-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, skipfooter, 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, doublequote, escapechar, comment, encoding, dialect, tupleize_cols, error_bad_lines, warn_bad_lines, delim_whitespace, low_memory, memory_map, float_precision)
    700                     skip_blank_lines=skip_blank_lines)
    701 
--> 702         return _read(filepath_or_buffer, kwds)
    703 
    704     parser_f.__name__ = name

~\Anaconda3\lib\site-packages\pandas\io\parsers.py in _read(filepath_or_buffer, kwds)
    427 
    428     # Create the parser.
--> 429     parser = TextFileReader(filepath_or_buffer, **kwds)
    430 
    431     if chunksize or iterator:

~\Anaconda3\lib\site-packages\pandas\io\parsers.py in __init__(self, f, engine, **kwds)
    893             self.options['has_index_names'] = kwds['has_index_names']
    894 
--> 895         self._make_engine(self.engine)
    896 
    897     def close(self):

~\Anaconda3\lib\site-packages\pandas\io\parsers.py in _make_engine(self, engine)
   1120     def _make_engine(self, engine='c'):
   1121         if engine == 'c':
-> 1122             self._engine = CParserWrapper(self.f, **self.options)
   1123         else:
   1124             if engine == 'python':

~\Anaconda3\lib\site-packages\pandas\io\parsers.py in __init__(self, src, **kwds)
   1851         kwds['usecols'] = self.usecols
   1852 
-> 1853         self._reader = parsers.TextReader(src, **kwds)
   1854         self.unnamed_cols = self._reader.unnamed_cols
   1855 

pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader.__cinit__()

pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader._get_header()

UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 0-1: invalid continuation byte

我已经在社区中寻找相关问题和答案,但没有取得任何进展。如果能得到答复,我将不胜感激。

python file csv jupyter
5个回答
14
投票

在代码所在的同一文件夹中创建 .csv 文件。这会起作用

import pandas as pd
data = pd.read_csv('data.csv')
print(data)

4
投票
 import pandas as pd  
 mpg = pd.read_csv('C://Users//Ajibola//Documents//mpg.csv')
 mpg.head() 

它会工作,因为它是一个 unicode 错误。


0
投票

标题是指数据集的列名称。对于您可能遇到的某些数据集,标头可能完全丢失、部分丢失,或者它们可能存在,但您可能想要重命名它们。 在此输入链接描述

希望这篇文章对您有所帮助


0
投票

该错误抱怨“utf-8”无法解码文件中的数据。这可能是由于文件中的特殊字符造成的。尝试使用其他编码(例如“utf-16”或“latin-1”)作为调用中的参数:

import pandas as pd
mpg = pd.read_csv('C:/Users/Ajibola/Documents/mpg.csv', encoding = 'utf-16')
mpg.head()

欲了解更多信息,请参阅:

pandas 读取 csv 以了解如何使用编码参数和 python 标准编码


0
投票

在 Mac 上试试这个

将 pandas 导入为 pd

data = pd.read_csv("/Users/qiyunchu/Downloads/nyc_Temperature_2019.csv")

data.head()

© www.soinside.com 2019 - 2024. All rights reserved.