于魔鬼儿 2021-05-19 10:43 采纳率: 50%
浏览 120
已采纳

pandas无法运行?

import  pandas  as pd
import  matplotlib.pyplot as plt
import numpy as np
from matplotlib import cm
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号,初始化
df=pd.read_csv(r'C:\Users\21015\PycharmProjects\pythonProject\性别比例城乡差距.csv')
df.head()
N=3
x=df.columns.values.tolist()[4:-2:N]
yl=df.iloc[-1].values.tolist()[4:-2:N]
plt.plot(x,yl,label='o',c='red',mec='blue',mcf='g')
plt.xlabel("年份/年")
plt.ylabel('百万')
plt.title('人口变化')
plt.legend()
plt.show()

运行结果是

Traceback (most recent call last):
  File "C:/Users/21015/PycharmProjects/pythonProject/main.py", line 7, in <module>
    df=pd.read_csv(r'C:\Users\21015\PycharmProjects\pythonProject\性别比例城乡差距.csv')
  File "C:\Users\21015\AppData\Roaming\Python\Python36\site-packages\pandas\io\parsers.py", line 688, in read_csv
    return _read(filepath_or_buffer, kwds)
  File "C:\Users\21015\AppData\Roaming\Python\Python36\site-packages\pandas\io\parsers.py", line 460, in _read
    data = parser.read(nrows)
  File "C:\Users\21015\AppData\Roaming\Python\Python36\site-packages\pandas\io\parsers.py", line 1198, in read
    ret = self._engine.read(nrows)
  File "C:\Users\21015\AppData\Roaming\Python\Python36\site-packages\pandas\io\parsers.py", line 2157, in read
    data = self._reader.read(nrows)
  File "pandas\_libs\parsers.pyx", line 847, in pandas._libs.parsers.TextReader.read
  File "pandas\_libs\parsers.pyx", line 862, in pandas._libs.parsers.TextReader._read_low_memory
  File "pandas\_libs\parsers.pyx", line 918, in pandas._libs.parsers.TextReader._read_rows
  File "pandas\_libs\parsers.pyx", line 905, in pandas._libs.parsers.TextReader._tokenize_rows
  File "pandas\_libs\parsers.pyx", line 2042, in pandas._libs.parsers.raise_parser_error
pandas.errors.ParserError: Error tokenizing data. C error: Expected 2 fields in line 7, saw 3

我好慌,这可是个大比赛,希望被知道一下蟹蟹。我只是个不知世事的小女孩

展开全部

  • 写回答

3条回答 默认 最新

  • CSDN专家-HGJ 2021-05-19 11:14
    关注

    在用pd.read_csv读取csv文件时有许多参数可以设置,针对出现的问题,用以下方式尝试:

    1.添加参数engine='python',默认是‘c';

    2.设置error_bad_lines 和warn_bad_lines,关闭标准输出错误信息;

    3.选定进行数据处理的相关列,用use_col,防止数据列数不一致。

    read_csv(filename, usecols=[0:3], error_bad_lines=False, warn_bad_lines=False)
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部