Python大数据分析学习.Pandas 数据导入问题 (1)

pandas 数据导入

在pandas中数据导入有对应的模块;本节解决三个关键问题:

(1)路径斜线问题;

(2)中文路径问题;

(3)编码问题;

正常导入见下,若没问题则完事大吉,但往往没这么顺利。

import pandas as pd
file_path = 'D:/0Raw_data/ftm_p.csv'
data = pd.read_csv(file_path)

1、导入路径斜线问题

当错误类型如下,则一般是路径斜线问题。

ValueError: stat: embedded null character in path

在win中的直接复制的路径,斜线默认是“\”;但在python中路径一般首选是“/”;有3种合理解决方案:

file_path1 = 'D:/0Raw_data/ftm_p.csv'
file_path2 = 'D:\\0Raw_data\\ftm_p.csv'
file_path3 = r'D:\0Raw_data\ftm_p.csv'

2、中文路径问题

当错误类型如下,则一般是中文路径问题。

OSError: Initializing from file failed

不废话,解决方案就是先用open打开,而且一般用open先打开,能直接解决编码问题:

file_path = 'D:/0Raw_data/zhaoyang_charge_sta/京AW7531'
path = open(file_path)
data = pd.read_csv(path)

3、编码问题

当错误类型如下,则一般是编码问题。panda读取时会先检测第一个字符的编码类型,若不是'utf-8'则会报错。

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb9 in position 0: invalid start byte

还是不废话,直接解决方案:

解决方案1,用open,请注意报错问题,可以合理配置encoding,在中国一般就为'utf-8'或者'gbk'。

import pandas as pd
file_path = 'D:/0Raw_data/zhaoyang_charge_sta/京AW7531'
f = open(file_path,encoding='utf-8')
data = pd.read_csv(f)
f.close()

解决方案2,配置pandas的encoding;

import pandas as pd
file_path = 'D:/0Raw_data/zhaoyang_charge_sta/京AW7531'
data = pd.read_csv('D:/0Raw_data/ftm_p.csv',encoding='gbk')

4、总结

因为本人主要研究车辆网大数据分析,在不上spark的情况下,也不可能一个一个配置每个文件的编码问题,所以我一般用鲁棒性较好的解决方案如下,供参考。若能解决您的问题,请点个赞,欢迎交流。

import pandas as pd
file_path = 'D:/0Raw_data/zhaoyang_charge_sta/京AW7531'
f = open(file_path,encoding='utf-8')
data = pd.read_csv(f)
f.close()


你可能感兴趣的:(Python大数据分析学习.Pandas 数据导入问题 (1))