溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

通過(guò)實(shí)例學(xué)習(xí)Python Excel操作

發(fā)布時(shí)間:2020-10-10 06:42:50 來(lái)源:腳本之家 閱讀:146 作者:小小程序員ol 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹了通過(guò)實(shí)例學(xué)習(xí)Python Excel操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

1.python 讀取Excel

# -*- coding: utf-8 -*-
import xlrd
import os,sys

reload(sys)
sys.setdefaultencoding("utf8")

filename = 'text.xlsx'
filename = filename.decode('utf-8')
book = xlrd.open_workbook(filename)
sheet1 = book.sheets()[0]
nrows = sheet1.nrows
print u'表格總行數(shù) ',nrows
ncols = sheet1.ncols
print u'表格總列數(shù) ',ncols

##查詢(xún)表頭
excelhead = []
for i in range(ncols):
 excel_head_values = sheet1.col_values(i)
 excelhead.append(excel_head_values[0])

##查詢(xún)行的值
excelhang = []
for i in range(nrows)[1:]:
 row_values = sheet1.row_values(i)
 print 'User:' + row_values[2] + ' Filename:' + row_values[0] + ' Tablename:' + row_values[1]

text.xlsx內(nèi)容如下:

通過(guò)實(shí)例學(xué)習(xí)Python Excel操作

運(yùn)行結(jié)果:

表格總行數(shù) 4
表格總列數(shù) 3
User:edw Filename:sh002_zyb_tx_chk_h0200.py Tablename:SH002_ZYB_TX_CHK_H0200
User:etl Filename:sh002_a_h0200.py Tablename:SH002_A_H0200
User:app Filename:sh002_b_h0200.py Tablename:SH002_B_H0200

2.python 寫(xiě)入Excel

# -*- coding: utf-8 -*-
import xlwt
import pymysql

def sql_connect(sql):
  conn = pymysql.connect(host='192.168.3.xx',port=3306, user='root', password='123456',db='hive',charset='utf8')
  cur = conn.cursor()
  cur.execute(sql)
  data = cur.fetchall()
  cur.close()
  conn.close()
  return data


def write_excel(filename, data):
  book = xlwt.Workbook()      #創(chuàng)建excel對(duì)象
  sheet = book.add_sheet('PARTITIONS') #添加一個(gè)表Sheet
  c = 0 #保存當(dāng)前列
  for d in data: #取出data中的每一個(gè)元組存到表格的每一行
    for index in range(len(d)):  #將每一個(gè)元組中的每一個(gè)單元存到每一列
      sheet.write(c,index,d[index])
    c += 1
  book.save(filename) #保存excel

sql = 'select * from PARTITIONS limit 100'
res = sql_connect(sql)
write_excel('partitions.xls', res)

運(yùn)行結(jié)果:

通過(guò)實(shí)例學(xué)習(xí)Python Excel操作

3.python Excel寫(xiě)入表內(nèi)

# -*- coding: utf-8 -*-
import xlwt
import xlrd
import pymysql

#從excel讀取數(shù)據(jù)寫(xiě)入mysql
def excel_to_mysql(filename):
  conn = pymysql.connect(host='192.168.3.xx',port=3306, user='root', password='123456',db='hive',charset='utf8')
  cur = conn.cursor()   #連接數(shù)據(jù)庫(kù)
  book = xlrd.open_workbook(filename)
  sheet = book.sheet_by_name('Sheet1')
  rows = sheet.nrows   #獲取行數(shù)
  for r in range(1,rows): #將標(biāo)題之外的其他行寫(xiě)入數(shù)據(jù)庫(kù)
    r_values = sheet.row_values(r)
    sql = 'insert into user_zw values(%s,%s,%s)' #有幾個(gè)字段需要幾個(gè)%s
    data = cur.execute(sql,r_values) #將每一行插入sql
  conn.commit()      #插入所有數(shù)據(jù)后提交
  cur.close()
  conn.close()
excel_to_mysql('user_zw.xls')

user_zw.xls的內(nèi)容:

通過(guò)實(shí)例學(xué)習(xí)Python Excel操作

查詢(xún)表中內(nèi)容:

通過(guò)實(shí)例學(xué)習(xí)Python Excel操作

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI