#coding=utf-8 import xlrd,chardet,traceback,csv #根據列名獲取相應序號 def getColumnIndex(table,columnName): columnIndex=None for i in range(table.ncols): if(table.cell_value(0,i)==columnName): columnIndex=i break return columnIndex #根據Excel中sheet名稱讀取數據 def readExcelDataByName(fileName,sheetName): table=None try: data=xlrd.open_workbook(fileName) table=data.sheet_by_name(sheetName) except Exception: pass return table if __name__=='__main__': #example csv_file=open('房源清單.csv','w+',newline='',encoding='utf-8') writer=csv.writer(csv_file) fileName=r'/Users/Desktop/python/python生成現金流套表/房源清單-(截止1031).xlsx' sheetName='Sheet1' table=readExcelDataByName(fileName,sheetName) list=[] for i in range(0,8000): try: xm=table.cell_value(i,getColumnIndex(table,'項目')) cplx=table.cell_value(i,getColumnIndex(table,'產品類型')) fymc=table.cell_value(i,getColumnIndex(table,'房源名稱')) except Exception: pass list.append([xm,cplx,fymc]) for row in list: writer.writerow(row) csv_file.close()