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

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

在用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)
df=pd.read_csv(r'C:\Users\21015\PycharmProjects\pythonProject\性别比例城乡差距.csv')

加入

error_bad_lines=False

也就是

df=pd.read_csv(r'C:\Users\21015\PycharmProjects\pythonProject\性别比例城乡差距.csv',error_bad_lines=False)

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632