国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python 讀取excel文件生成sql文件實例詳解

2020-01-04 17:09:47
字體:
供稿:網(wǎng)友

python 讀取excel文件生成sql文件實例詳解

學(xué)了python這么久,總算是在工作中用到一次。這次是為了從excel文件中讀取數(shù)據(jù)然后寫入到數(shù)據(jù)庫中。這個邏輯用java來寫的話就太重了,所以這次考慮通過python腳本來實現(xiàn)。

在此之前需要給python添加一個xlrd模塊,這個模塊是專門用來操作excel文件的。

在mac中可以通過easy_install xlrd命令實現(xiàn)自動安裝模塊

import xdrlib ,sysimport xlrddef open_excel(file= a.xlsx'):  try:    data = xlrd.open_workbook(file)#打開excel文件    return data  except Exception,e:    print str(e)def excel_table_bycol(file='a.xlsx',colindex=[0],table_name='Sheet1'):  data = open_excel(file)  table = data.sheet_by_name(table_name)#獲取excel里面的某一頁  nrows = table.nrows#獲取行數(shù)  colnames = table.row_values(0)#獲取第一行的值,作為key來使用,對于不同的excel文件可以進(jìn)行調(diào)整  list = []  #(1,nrows)表示取第一行以后的行,因為第一行往往是表頭  for rownum in range(1,nrows):     row = table.row_values(rownum)     if row:       app = {}       for i in colindex:          app[str(colnames[i]).encode("utf-8")] = str(row[i]).encode("utf-8")#將數(shù)據(jù)填入一個字典中,同時對數(shù)據(jù)進(jìn)行utf-8轉(zhuǎn)碼,因為有些數(shù)據(jù)是unicode編碼的       list.append(app)#將字典加入列表中去  return listdef main():  #colindex是一個數(shù)組,用來選擇讀取哪一列,因為往往excel中的一小部分才是我們需要的  tables = excel_table_bycol(colindex=[1,4],table_name=u'areaCode')  file = open('channel_area_code.sql','w')#創(chuàng)建sql文件,并開啟寫模式  for row in tables:    if row['area_code'] != '':        file.write("update table_name set para1='%s' where para2='%s';/n"%(row['para1'],row['para2']))#往文件里寫入sql語句if __name__=="__main__":  main()

這并非是一個通用的python腳本,還是需要根據(jù)excel文件的格式作出一些調(diào)整,但是代碼并不復(fù)雜,開發(fā)速度也很快,比以前用java是輕松多了。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 葫芦岛市| 会宁县| 鄢陵县| 琼中| 彝良县| 甘泉县| 霍林郭勒市| 枣庄市| 仁化县| 鄂尔多斯市| 旌德县| 天水市| 观塘区| 洛南县| 沙田区| 蓝田县| 三台县| 庆云县| 岫岩| 浏阳市| 镇远县| 齐齐哈尔市| 宁武县| 永胜县| 静安区| 抚州市| 晋宁县| 民丰县| 广南县| 易门县| 新建县| 新兴县| 林西县| 揭东县| 日照市| 木兰县| 乐山市| 古丈县| 昌都县| 兰溪市| 邹城市|