本文所使用的CSV内容截图如下:
1.文件导入
1.1 不同分隔符导入
1.1.1 以逗号分隔符导入
使用read_csv()方法导入csv文件,该方法默认文件中的数据都是以逗号作为分隔符的
1 | python复制代码import pandas as pd |
result:
1 | 复制代码 区域 省份 城市 |
1.1.2 其他指定分隔符导入
若csv文件不是以逗号分隔,而是洽谈符号,此时读取需要使用sep参数来指定分隔符,否则会报错
eg:
1 | python复制代码import pandas as pd |
result:
1 | 复制代码 区域 省份 城市 |
1.2 导入部分数据
文件较大时,可以只导入前几行数据
1 | python复制代码df = pd.read_csv(r'C:\Users\admin\Desktop\中文\数据分析测试表.csv', nrows=1) |
result:
区域 省份 城市
0 东北 辽宁 大连
2.文件编码
2.1 utf-8编码
保存CSV格式文件时如果选择UTF-8(逗号分隔),导入时需要添加encoding参数,
1 | python复制代码df = pd.read_csv(r'C:\Users\admin\Desktop\数据分析测试表.csv', encoding='utf-8') |
result:
1 | 复制代码 区域 省份 城市 |
你也可以不加encoding参数,因为python默认的编码格式就是utf-8编码。此时就和1导入CSV的结果一致
1 | python复制代码df = pd.read_excel(r'C:\Users\admin\Desktop\数据分析测试表.csv') |
result:
1 | 复制代码 区域 省份 城市 |
2.2 gbk编码
此时须设置encoding参数的值为gbk,否则会报错
1 | python复制代码df = pd.read_csv(r'C:\Users\admin\Desktop\数据分析测试表.csv', encoding='gbk') |
result:
1 | 复制代码 区域 省份 城市 |
3.中文路径问题
CSV文件路径含有中文时,低版本的pandas读取文件时会报错。
有4个解决办法:
(1)将中文路径改为英文路径
(2)升级pandas版本,我电脑上目前装的1.3.0版本支持中文路径
(3)在文件地址名前加open
1 | python复制代码df = pd.read_csv(open(r'C:\Users\admin\Desktop\中文\数据分析测试表.csv')) |
(4)添加engine参数
1 | python复制代码df = pd.read_csv(r'C:\Users\admin\Desktop\中文\数据分析测试表.csv', engine='python', encoding='utf-8-sig') |
read_csv()方法默认采用c语言作为解析语言,此时只需要将c换成python就可以了。如果CSV编码方式是utf-8,需要将utf-8替换为utf-8-sig
注:方法3和方法4目前没有使用过,效果未知
4.行列索引以及数据读取问题
和xlsx文件操作方式一致,参见juejin.cn/post/698366…
本文转载自: 掘金