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'