Python學習筆記(辦公篇Excel)

  • 2020 年 1 月 19 日
  • 筆記
  • 簡介:

     今日接了個小單,把數據從xlsx讀取到本地生成散點圖,在讀取日期數據時發現,讀取下來的日期是數字,不是日期的格式  

  •  所要用的庫:
    • xlrd :1.1.0
    • time:
    • datetime:
  • 解決方法:
    •  程式碼
 1 import  xlrd   2 import  time,datetime   3   4 def create_excel():   5     work_book = xlrd.open_workbook('新建 XLSX 工作表 (3).xlsx')   6                                    #打開文件   7     sheet = work_book.sheet_by_name('Sheet1')#打開其中一份sheet   8     time1 = []   9     time2 = []  10  11     for i in range(sheet.nrows):#sheet.nrows 行總數  12         time2 .append(str(sheet.cell_value(i, 0)))  13             #獲取第i行第0列的數據  14         try:#因為表中數據不完整,所以會有異常  15             #轉換,把讀取下來的數字轉化為日期  16             #因為讀取下來的數字(比如說42912)  17             # 是從1900-01-01開始算起的第42912天  18             #通過timedelta將時間差轉換為時間再加上1900-1-1就是當前時間  19             #不清楚為啥,最後結果多了兩年,所以在轉化時-2  20             data2 = datetime.datetime(1900, 1, 1) + datetime.timedelta(days=sheet.cell_value(i, 0) - 2)  21             time1.append(data2)  22         except TypeError:#處理異常  23             time1.append(str(sheet.cell_value(i, 0)))  24     print("未轉化數據:",time2)  25     print("轉化後數據:",time1)  26  27 if __name__ == '__main__':  28     create_excel()
  • 總結:

    感謝prolifes提供的解決方案:https://segmentfault.com/q/1010000010921862

    感謝像風一樣自由提供的xlrd相關介紹:https://blog.csdn.net/five3/article/details/7034826

    上述文章如哪裡有錯,請及時聯繫部落客,QQ406802063 感謝