很久不写东西了,最近在碰到一个问题到处baidu google 不得解,最后还是自己实现了。
python 自动化中 ,参数化数据读写会用到很多方式,读写.txt,.csv都比较容易,读写.xlsx也不是很难,只是在将xlsx 数据读取并转换成字典时遇到一些麻烦,最终自己解决了,纪录一下。
---------------------------------------------------------------------------------------------------------
from openpyxl import Workbook, load_workbook def readXlsxAsDict(dataPath): wb = load_workbook(dataPath) current_sheet = wb["data"] result_dict = [] # headers = list(current_sheet.iter_rows())[0] # print(headers) for i in range(1,current_sheet.max_row): line = dict() x = 0 for header in list(current_sheet.iter_rows())[0]: # print(cel.value) line[header.value] = list(current_sheet.iter_rows())[i][x].value x +=1 result_dict.append(line) return result_dict if __name__ == '__main__': xdata = readXlsxAsDict("../TestData/checkA.xlsx") print(xdata)
xlsx文件数据类似这样的子的:
最终读取出来的:
[{'caseID': 'case_0001', 'pageURL': 'https://aaa.com', 'HotelHP': 'Sunshine City Prince Hotel Tokyo', 'CheckIn': '2018-08-10', 'CheckOut': '2018-08-15', 'Stars': 3, 'respect result': 1, 'compatibility': 'yes'}, {'caseID': 'case_0002', 'pageURL': 'https://bbb.com', 'HotelHP': 'Yanling Bloom Hot Spring Hotel', 'CheckIn': '2018-08-20', 'CheckOut': '2018-08-25', 'Stars': 4, 'respect result': 1, 'compatibility': 'no'}]
正是自己所需要的
就这么多....