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