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 感謝

