欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年05月12日 10:12:00   投稿:lqh  
這篇文章主要介紹了python 讀取excel文件生成sql文件實例詳解的相關(guān)資料,需要的朋友可以參考下

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 ,sys
import xlrd
def 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 list
def 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是輕松多了。

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

相關(guān)文章

  • matplotlib之pyplot模塊實現(xiàn)添加子圖subplot的使用

    matplotlib之pyplot模塊實現(xiàn)添加子圖subplot的使用

    這篇文章主要介紹了matplotlib之pyplot模塊實現(xiàn)添加子圖subplot的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Python基本數(shù)據(jù)結(jié)構(gòu)與用法詳解【列表、元組、集合、字典】

    Python基本數(shù)據(jù)結(jié)構(gòu)與用法詳解【列表、元組、集合、字典】

    這篇文章主要介紹了Python基本數(shù)據(jù)結(jié)構(gòu)與用法,結(jié)合實例形式分析了Python基本數(shù)據(jù)結(jié)構(gòu)中的列表、元組、集合、字典相關(guān)概念、使用方法及推導(dǎo)式、遍歷等相關(guān)使用技巧,需要的朋友可以參考下
    2019-03-03
  • Django Rest framework三種分頁方式詳解

    Django Rest framework三種分頁方式詳解

    這篇文章主要介紹了Django Rest framework三種分頁方式詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • Python中assert函數(shù)的使用(含源代碼)

    Python中assert函數(shù)的使用(含源代碼)

    本文主要介紹了Python中assert函數(shù)的使用(含源代碼),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Python?中如何使用requests模塊發(fā)布表單數(shù)據(jù)

    Python?中如何使用requests模塊發(fā)布表單數(shù)據(jù)

    requests 庫是 Python 的主要方面之一,用于創(chuàng)建對已定義 URL 的 HTTP 請求,本篇文章介紹了 Python requests 模塊,并說明了我們?nèi)绾问褂迷撃K在 Python 中發(fā)布表單數(shù)據(jù),感興趣的朋友跟隨小編一起看看吧
    2023-06-06
  • python爬蟲入門教程--HTML文本的解析庫BeautifulSoup(四)

    python爬蟲入門教程--HTML文本的解析庫BeautifulSoup(四)

    Beautiful Soup是python的一個庫,最主要的功能是從網(wǎng)頁抓取數(shù)據(jù)。下面這篇文章主要給大家介紹了python爬蟲之HTML文本的解析庫BeautifulSoup的相關(guān)資料,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-05-05
  • Python基于socket實現(xiàn)簡單的即時通訊功能示例

    Python基于socket實現(xiàn)簡單的即時通訊功能示例

    這篇文章主要介紹了Python基于socket實現(xiàn)簡單的即時通訊功能,涉及Python基于socket模塊實現(xiàn)tcp通信客戶端與服務(wù)器端相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01
  • Python的SQLalchemy模塊連接與操作MySQL的基礎(chǔ)示例

    Python的SQLalchemy模塊連接與操作MySQL的基礎(chǔ)示例

    SQLalchemy是Python世界中驅(qū)動MySQL的一款高人氣模塊,這里我們從入門開始來看一下Python的SQLalchemy模塊連接與操作MySQL的基礎(chǔ)示例:
    2016-07-07
  • Anaconda配置各版本Pytorch的實現(xiàn)

    Anaconda配置各版本Pytorch的實現(xiàn)

    本文是整理目前全版本pytorch深度學(xué)習(xí)環(huán)境配置指令,以下指令適用Windows操作系統(tǒng),在Anaconda Prompt中運行,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Python 多線程并行執(zhí)行的實現(xiàn)示例

    Python 多線程并行執(zhí)行的實現(xiàn)示例

    本文主要介紹了Python 多線程并行執(zhí)行的實現(xiàn)示例,通過使用threading和concurrent.futures模塊可以進(jìn)行實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-07-07

最新評論