真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python讀取表頭函數(shù),python 獲取數(shù)據(jù)庫(kù)表頭

python中用openpyxl讀取excel表格數(shù)據(jù),并且轉(zhuǎn)換成字典格式

'''

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

如題。excel表格數(shù)據(jù)里面有班級(jí),姓名,性別,學(xué)號(hào)的數(shù)據(jù)。如何據(jù)全部讀取出來(lái),

并且每一行數(shù)據(jù)都顯示為一個(gè)字典?

比如這樣展示:班級(jí):一(1)班,姓名:小明,性別:男,學(xué)號(hào):110

'''

'''

思路:

先將表頭每格數(shù)據(jù)讀取出來(lái),放在列表中:[‘班級(jí)’,‘姓名’,‘性別’,‘學(xué)號(hào)’]

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

關(guān)鍵就算要用zip函數(shù),首先了解zip的作用

是將2個(gè)列表中的數(shù)據(jù)第一個(gè)和第一個(gè)組合成元組,第二個(gè)和第二個(gè)組合成元組,以此類(lèi)推

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

'''

import openpyxl

# 讀取excel中的數(shù)據(jù)

# 第一步打開(kāi)工作簿

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

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

sheet = wb['Sheet1']

# 按行獲取數(shù)據(jù)轉(zhuǎn)換成列表

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

rows_data = list(sheet.rows)

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

titles = []

for title in rows_data[0]:

titles.append(title.value)

# print(title.value) # 打出來(lái)看看

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

for a_row in rows_data[1:]:

# the_row_data用來(lái)臨時(shí)存放每一行數(shù)據(jù)

a_row_data = []

# 遍歷每一行的單元格

for cell in a_row:

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

# 判斷該單元格的值是否為字符串類(lèi)型,

# 因?yàn)橛行┦强盏模?/p>

# 是字符串就轉(zhuǎn)換成python表達(dá)式,空的就不是字符串類(lèi)型就直接添加

if isinstance(cell.value, str):

a_row_data.append(eval(cell.value))

else:

a_row_data.append(cell.value)

# print(data) #打印出來(lái)看看

# 將表頭和該條數(shù)據(jù)內(nèi)容,打包成一個(gè)字典

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

# all_rows.append(rows_dict)

print(rows_dict)

Excel表格用Python讀取,識(shí)別異常。表頭、表內(nèi)容錯(cuò)誤。求大神指導(dǎo),謝謝。

是用pandas讀取的嗎?

import pandas as pd

df = pd.read_excel(path)

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

用python處理csv文件,最好可以將里面的文本信息轉(zhuǎn)成一個(gè)二維數(shù)組的形式,具體如下

思路如下:

導(dǎo)入csv庫(kù);

打開(kāi)文件,并用csv庫(kù)函數(shù)reader讀入數(shù)據(jù);

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

import?csv?#?必要庫(kù)導(dǎo)入

filepath?=?'test.csv'?#?定義文件名稱(chēng),本文件要與當(dāng)前的.py文件要在同一文件夾下,不然要用絕對(duì)路徑

with?open(filepath,'r')?as?csvfile:?#?打開(kāi)數(shù)據(jù)文件

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

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

data?=?[]?#?定義一個(gè)空數(shù)組用于保存文件的數(shù)據(jù)

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

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

print(header)?#?表頭

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

python怎么讀取excel的數(shù)據(jù)

最近由于經(jīng)常要用到Excel,需要根據(jù)Excel表格中的內(nèi)容對(duì)一些apk進(jìn)行處理,手動(dòng)處理很麻煩,于是決定寫(xiě)腳本來(lái)處理。首先貼出網(wǎng)上找來(lái)的讀寫(xiě)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#獲取行數(shù)nrows = sh.nrows#獲取列數(shù)ncols = sh.ncolsprint "nrows %d, ncols %d" % (nrows,ncols)#獲取第一行第一列數(shù)據(jù)cell_value = sh.cell_value(1,1)#print cell_value??row_list = []#獲取各行數(shù)據(jù)for i in range(1,nrows):?row_data = sh.row_values(i)?row_list.append(row_data)

2.寫(xiě)入Excel(需安裝pyExcelerator)

12345678

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

3.再舉個(gè)自己寫(xiě)的讀寫(xiě)Excel的例子

讀取reflect.xls中的某些信息進(jìn)行處理后寫(xiě)入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(',')?#獲取每個(gè)包的前兩個(gè)字段?for pkgdata in pkgdatas:??pkgdata = '.'.join((pkgdata.split('.'))[:2])??mydata.append(pkgdata)?#將列表排序?mydata = list(set(mydata))?print mydata?#將列表轉(zhuǎn)化為字符串?mydata = ','.join(mydata)?#寫(xiě)入數(shù)據(jù)到每行的第一列?ws.write(i,0,mydata)?mydata = []?row_list.append(row_data[3])#print row_list?w.save('mini.xls')

4.現(xiàn)在我需要根據(jù)Excel文件中滿足特定要求的apk的md5值來(lái)從服務(wù)器獲取相應(yīng)的apk樣本,就需要這樣做: 

123456789101112131415161718192021222324252627282930313233

#-*-coding:utf8-*-import xlrdimport osimport shutil??fname = "./excelname.xls"bk = xlrd.open_workbook(fname)shxrange = range(bk.nsheets)try:?#打開(kāi)Sheet1工作表?sh = bk.sheet_by_name("Sheet1")except:?print "no sheet in %s named Sheet1" % fname#獲取行數(shù)nrows = sh.nrows#獲取列數(shù)ncols = sh.ncols#print "nrows %d, ncols %d" % (nrows,ncols)#獲取第一行第一列數(shù)據(jù)cell_value = sh.cell_value(1,1)#print cell_value??row_list = []#range(起始行,結(jié)束行)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/")

補(bǔ)充一個(gè)使用xlwt3進(jìn)行Excel文件的寫(xiě)操作。

1234567891011121314151617181920212223242526

import xlwt3?if __name__ == '__main__':?????????datas = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h']]#二維數(shù)組????file_path = 'D:\\test.xlsx'?????????wb = xlwt3.Workbook()????sheet = wb.add_sheet('test')#sheet的名稱(chēng)為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:#設(shè)置表頭單元格的格式????????????????sheet.write(row, col, datas[row][col], header_style)????????????else:????????????????sheet.write(row, col, datas[row][col])????wb.save(file_path)

輸出的文件內(nèi)容如下圖:

注:以上代碼在Python 3.x版本測(cè)試通過(guò)。

好了,python操作Excel就這么!些了,簡(jiǎn)單吧


本文題目:python讀取表頭函數(shù),python 獲取數(shù)據(jù)庫(kù)表頭
標(biāo)題來(lái)源:http://weahome.cn/article/hcicoe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部