python-使用pandas读取excel文件

1. 首先安装:openpyxl, pandas的依赖库

pandas使用时,会用到openpyxl,所以需要两个都装下;

可以使用如下方式

pip install openpyxl

pip install pandas
# 使用阿里云镜像安装
pip install pandas -i https://mirrors.aliyun.com/pypi/simple/

# 引入模块,简写成pd(这是大家都采取不成文的习惯)
import pandas as pd

或者,直接PyCharm进行导入时安装即可。

 

 

2. 引入包,并实现读取excel功能

 1 def loadFormTemplateConfig():
 2     # 使用pandas读取excel文件
 3     ex_data = pd.read_excel("./formTemplate/user-form.xlsx")
 4     # 读取excel中表头
 5     head_list = list(ex_data.columns)
 6     list_dict = []
 7     # 组装json格式数据并保存到列表中
 8     for i in ex_data.values:
 9         # 使用表头和每行的数据组装json格式数据
10         a_line = dict(zip(head_list, i))
11         list_dict.append(a_line)
12     print(list_dict)
13     # 把列表中的数据转为json格式的字符串
14     result = json.dumps(list_dict, indent=4, ensure_ascii=False)
15     return result

其中,json.dumps(list_dict, indent=4, ensure_ascii=False)中的ensure_ascii=False,是为了解决中文乱码问题的。

json.dumps函数,

json.dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)

看官方文档下面,其中有这么一段:
如果 ensure_ascii 是 true (即默认值),输出保证将所有输入的非 ASCII 字符转义。如果 ensure_ascii 是 false,这些字符会原样输出。

因为中文显然是非ASCII字符,所以如果这里什么都不写,那么就是默认true,就是默认是转义

所以在这里我们改成false,让这些中文字符原样输出。

3.效果如下:

因为这里是作为接口的返回数据,所以效果如下:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章