pandas读csv避坑指南:双引号问题
别人 从oracle数据库 给你导出了一份 csv文件 projs.csv(划重点,不是普通的csv,有坑),让你帮忙进行数据分析,当然我会首选python三方包pandas来完成任务。
projs.csv文件以utf-8字符集编码,有200w行、5列,内容如下:
"A","B","C","D","E"
"数据a","数据b","数据c","数据d","数据e"
......
你会说太简单了,用pandas的read_csv一行代码搞定,确实如此,不过也未必全对,不信请继续看完……
如你所说,read_csv一句话就加载了:
import pandas as pd
file = 'projs.csv'
df = pd.read_csv(file, header=0, sep=',', engine='python', encoding='utf-8')
print(df.shape)
print(df.columns)
......
一、有啥问题:
shape不是(2000000,5),居然是(2000000,1),列名也只有“A”一列,好像所有列的数据都挤到A列了,没错,因为双引号“”搞得鬼,pandas居然把所有数据都挤到一列里了,无法进行正常分析了,坑!
二、解决办法:
将每个字段开始和结尾的双引号""去掉即可还原数据到正常状态。如何去,上代码:
import pandas as pd
file = 'projs.csv'