python讀取表頭函數,python 獲取數據庫表頭

python中用openpyxl讀取excel表格數據,并且轉換成字典格式

'''

成都創(chuàng)新互聯公司主要從事成都做網站、網站制作、網頁設計、企業(yè)做網站、公司建網站等業(yè)務。立足成都服務鎮(zhèn)沅,十多年網站建設經驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18982081108

如題。excel表格數據里面有班級,姓名,性別,學號的數據。如何據全部讀取出來,

并且每一行數據都顯示為一個字典?

比如這樣展示:班級:一(1)班,姓名:小明,性別:男,學號:110

'''

'''

思路:

先將表頭每格數據讀取出來,放在列表中:[‘班級’,‘姓名’,‘性別’,‘學號’]

再將表頭下面每行也讀取出來,放在列表中:['一(1)班','小明‘,’男','110’]

關鍵就算要用zip函數,首先了解zip的作用

是將2個列表中的數據第一個和第一個組合成元組,第二個和第二個組合成元組,以此類推

但它是存放在內存中,要將他們變成列表用到list()函數,最后列表要變成字典用到dict{}函數

'''

import openpyxl

# 讀取excel中的數據

# 第一步打開工作簿

wb = openpyxl.load_workbook('cases.xlsx')

# 第二步選取表單,注意Sheet是大寫的S

sheet = wb['Sheet1']

# 按行獲取數據轉換成列表

# 先定義一個總的列表所有的行先放在列表中

rows_data = list(sheet.rows)

# 獲取表單的表頭信息(第一行),也就是列表的第一個元素

titles = []

for title in rows_data[0]:

titles.append(title.value)

# print(title.value) # 打出來看看

# 遍歷出除了第一行的其他行

for a_row in rows_data[1:]:

# the_row_data用來臨時存放每一行數據

a_row_data = []

# 遍歷每一行的單元格

for cell in a_row:

# print(cell.value) # 取單元格的值

# 判斷該單元格的值是否為字符串類型,

# 因為有些是空的,

# 是字符串就轉換成python表達式,空的就不是字符串類型就直接添加

if isinstance(cell.value, str):

a_row_data.append(eval(cell.value))

else:

a_row_data.append(cell.value)

# print(data) #打印出來看看

# 將表頭和該條數據內容,打包成一個字典

rows_dict = dict(list(zip(titles, a_row_data)))

# all_rows.append(rows_dict)

print(rows_dict)

Excel表格用Python讀取,識別異常。表頭、表內容錯誤。求大神指導,謝謝。

是用pandas讀取的嗎?

import pandas as pd

df = pd.read_excel(path)

df = df.where(df.notnull(), None) #這句的作用是把表格里的NAN替換掉,這里的None,可以換成你想替換的東西

用python處理csv文件,最好可以將里面的文本信息轉成一個二維數組的形式,具體如下

思路如下:

導入csv庫;

打開文件,并用csv庫函數reader讀入數據;

csv讀入的數據是一行一行的,所以通過循環(huán)語句把讀到的數據放入到數組里

import?csv?#?必要庫導入

filepath?=?'test.csv'?#?定義文件名稱,本文件要與當前的.py文件要在同一文件夾下,不然要用絕對路徑

with?open(filepath,'r')?as?csvfile:?#?打開數據文件

reader?=?csv.reader(csvfile)?#?用csv的reader函數讀取數據文件

header?=?next(reader)?#?讀取數據文件的表頭

data?=?[]?#?定義一個空數組用于保存文件的數據

for?line?in?reader:?#?循環(huán)讀取數據文件并保存到數組data中

data.append(line)?#?line是個一維數組,是數據文件中的一行數據

print(header)?#?表頭

print(data)?#?讀取的二維數組

python怎么讀取excel的數據

最近由于經常要用到Excel,需要根據Excel表格中的內容對一些apk進行處理,手動處理很麻煩,于是決定寫腳本來處理。首先貼出網上找來的讀寫Excel的腳本。

1.讀取Excel(需要安裝xlrd):

123456789101112131415161718192021222324

#-*- coding: utf8 -*-import xlrd??fname = "reflect.xls"bk = xlrd.open_workbook(fname)shxrange = range(bk.nsheets)try:?sh = bk.sheet_by_name("Sheet1")except:?print "no sheet in %s named Sheet1" % fname#獲取行數nrows = sh.nrows#獲取列數ncols = sh.ncolsprint "nrows %d, ncols %d" % (nrows,ncols)#獲取第一行第一列數據cell_value = sh.cell_value(1,1)#print cell_value??row_list = []#獲取各行數據for i in range(1,nrows):?row_data = sh.row_values(i)?row_list.append(row_data)

2.寫入Excel(需安裝pyExcelerator)

12345678

from pyExcelerator import *?w = Workbook()? #創(chuàng)建一個工作簿ws = w.add_sheet('Hey, Hades')? #創(chuàng)建一個工作表ws.write(0,0,'bit') #在1行1列寫入bitws.write(0,1,'huang') #在1行2列寫入huangws.write(1,0,'xuan') #在2行1列寫入xuanw.save('mini.xls')? #保存

3.再舉個自己寫的讀寫Excel的例子

讀取reflect.xls中的某些信息進行處理后寫入mini.xls文件中?!?/p>

1234567891011121314151617181920212223242526272829303132333435363738394041424344

#-*- coding: utf8 -*-import xlrdfrom pyExcelerator import *??w = Workbook()ws = w.add_sheet('Sheet1')?fname = "reflect.xls"bk = xlrd.open_workbook(fname)shxrange = range(bk.nsheets)try:?sh = bk.sheet_by_name("Sheet1")except:?print "no sheet in %s named Sheet1" % fname?nrows = sh.nrowsncols = sh.ncolsprint "nrows %d, ncols %d" % (nrows,ncols)??cell_value = sh.cell_value(1,1)#print cell_value??row_list = []mydata = []for i in range(1,nrows):?row_data = sh.row_values(i)?pkgdatas = row_data[3].split(',')?#pkgdatas.split(',')?#獲取每個包的前兩個字段?for pkgdata in pkgdatas:??pkgdata = '.'.join((pkgdata.split('.'))[:2])??mydata.append(pkgdata)?#將列表排序?mydata = list(set(mydata))?print mydata?#將列表轉化為字符串?mydata = ','.join(mydata)?#寫入數據到每行的第一列?ws.write(i,0,mydata)?mydata = []?row_list.append(row_data[3])#print row_list?w.save('mini.xls')

4.現在我需要根據Excel文件中滿足特定要求的apk的md5值來從服務器獲取相應的apk樣本,就需要這樣做: 

123456789101112131415161718192021222324252627282930313233

#-*-coding:utf8-*-import xlrdimport osimport shutil??fname = "./excelname.xls"bk = xlrd.open_workbook(fname)shxrange = range(bk.nsheets)try:?#打開Sheet1工作表?sh = bk.sheet_by_name("Sheet1")except:?print "no sheet in %s named Sheet1" % fname#獲取行數nrows = sh.nrows#獲取列數ncols = sh.ncols#print "nrows %d, ncols %d" % (nrows,ncols)#獲取第一行第一列數據cell_value = sh.cell_value(1,1)#print cell_value??row_list = []#range(起始行,結束行)for i in range(1,nrows):?row_data = sh.row_values(i)?if row_data[6] == "HXB":??filename = row_data[3]+".apk"??#print "%s %s %s" %(i,row_data[3],filename)??filepath = r"./1/"+filename??print "%s %s %s" %(i,row_data[3],filepath)??if os.path.exists(filepath):???shutil.copy(filepath, r"./myapk/")

補充一個使用xlwt3進行Excel文件的寫操作。

1234567891011121314151617181920212223242526

import xlwt3?if __name__ == '__main__':?????????datas = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h']]#二維數組????file_path = 'D:\\test.xlsx'?????????wb = xlwt3.Workbook()????sheet = wb.add_sheet('test')#sheet的名稱為test?????????#單元格的格式????style = 'pattern: pattern solid, fore_colour yellow; '#背景顏色為黃色????style += 'font: bold on; '#粗體字????style += 'align: horz centre, vert center; '#居中????header_style = xlwt3.easyxf(style)?????????row_count = len(datas)????col_count = len(datas[0])????for row in range(0, row_count):????????col_count = len(datas[row])????????for col in range(0, col_count):????????????if row == 0:#設置表頭單元格的格式????????????????sheet.write(row, col, datas[row][col], header_style)????????????else:????????????????sheet.write(row, col, datas[row][col])????wb.save(file_path)

輸出的文件內容如下圖:

注:以上代碼在Python 3.x版本測試通過。

好了,python操作Excel就這么!些了,簡單吧

標題名稱:python讀取表頭函數,python 獲取數據庫表頭
網頁網址:http://muchs.cn/article4/hcicoe.html

成都網站建設公司_創(chuàng)新互聯,為您提供搜索引擎優(yōu)化、營銷型網站建設、網站設計定制開發(fā)、網站設計公司網站導航

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

成都網站建設