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