背景:xlrd解析excel不支持xlsx的文件,而通用的xls文件可支持的最大行数为65536,当然可以在处理的时候拼接多个sheet页,但是如果数据过多,容易出错,引入openpyxl直接解析xlsx文件是一个可行的处理思路,代码如下
#准备工作:pip install openpyxl
代码行:
import openpyxl
def get_xlsx(path):
wb = openpyxl.load_workbook(path)
sheet = wb.active
try:
dat=[]
for cols in sheet.iter_rows():
#读取方式"cols[1].value",必须加value,否则打印的是表、行、列信息
data={'code':cols[1].value,'name':cols[2].value,'shortname':cols[3].value,'id':cols[4].value,'origin_lon':cols[5].value,'origin_lat':cols[6].value}
dat.append(data)
#也可以用以下方法打印,但是可读性较差
# for cell in row:
# print(cell.value,flush=True)
return dat
except Exception as e:
print("error:",str(e))
def main():
dat=get_xlsx("D:/计价中台测试/202401081.xlsx")
for i in dat:
print(i.get('code'),",",i.get('name'))#读取封装数据的方法为i.get('自定义的列名')
main()