问题
在使用pandas的read_csv方法时,它默认会自动加上一列行号。
演示
test.csv内容如下:
姓名,年龄
小兔子昂,8
大兔子昂,13
test.py代码如下:
#引入pandas库,并改成pd方便使用,(打的字就少了)
import pandas as pd
dataframe = pd.read_csv("test.csv")
print(dataframe)
运行结果如下:
姓名 年龄
0 小兔子昂 8
1 大兔子昂 13
可以发现,多出了第一列,pandas自动加上了行号。
解决
给read_csv加上这么个参数,index_col=0
修改后的代码如下:
#引入pandas库,并改成pd方便使用,(打的字就少了)
import pandas as pd
dataframe = pd.read_csv("test.csv",index_col=0)
print(dataframe)
运行结果
年龄
姓名
小兔子昂 8
大兔子昂 13
可以看到行号已经去掉了。尽管表头错行了,但是输出到文件里是正常的。
其他
如果需要Excel打开,需要将csv文件另存为ANSI编码格式,不然会乱码。同时要给read_csv加上一个参数,encoding="gbk"
,这样python读取才不会出错。
如果想了解更多关于index_col参数的知识:
pandas read_csv 参数 index_col = None,0,False的区别