使用pandas读取含有中文的CSV文件

Python2对中文支持不好,在使用pandas读取含有中文的CSV文件时尤其需要注意,下面就记录一下我的使用经历。

我的CSV文件含有中文字段和中文数据,尤其是表头,全是中文,其中有一列叫做 “经度(度)”,我想使用pandas在Python里面直接用df["经度(度)"]来访问这一列数据,但是遇到了一些编码格式上的小问题,现将解决过程做以下记录。

1、首先,确定CSV文件的编码格式,以便在调用pandas.read_csv时指定编码参数,我的文件是gbk编码方式,因此通过以下代码来读取CSV文件。

df = pd.read_csv(csv_file, encoding="gbk")

2、在Python脚本的最前面添加以下代码,以指定该脚本处理数据时所使用的编码格式,需要注意的是一定要在最前面加这句话,否则可能会有问题。

# -*- coding: utf-8 -*-

3、如果使用的是PyCharm,还需要进行脚本文件的编码格式设置:

进入 File -> Settings,找到 Editor -> File encodings,将 Global Encoding 和 Project Encoding ,以及Default encoding for properties files 设置为utf-8

使用pandas读取含有中文的CSV文件_第1张图片

 

4、在使用列名来访问DataFrame里面的数据时,对于中文列名,应该在列名前面加'u',表示后面跟的字符串以unicode格式存储,如下所示:

print(df[u"经度(度)"])

 

你可能感兴趣的:(小问题,Python)