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.效果如下:
因爲這裏是作爲接口的返回數據,所以效果如下: