最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

PYTHON 類(lèi)定義與處理excel表

2019-11-25 11:01 作者:不妙脆角  | 我要投稿

最近在用python處理中國(guó)家庭追蹤調(diào)查(cfps)的數(shù)據(jù),記錄一下過(guò)程。

首先對(duì)于多參數(shù)的行,定義一個(gè)類(lèi)去存儲(chǔ)是再好不過(guò)了。定義方法如下,首先要有一個(gè)

__init__(self,定義參數(shù)1,定義參數(shù)2,...)的構(gòu)造函數(shù)。之后你要定義一個(gè)類(lèi)就要輸入這些參數(shù)。

舉個(gè)例子:

class UP:

????def __init__(self,粉絲數(shù)量,稿件數(shù)量,性別,ID):

????????? ? self.sum_of_fans=粉絲數(shù)量;

????????????self.sum_of_articles=稿件數(shù)量;

????????????self.gender=性別;

????????????self.ID=ID;

#你還可以在類(lèi)里自己定義類(lèi)函數(shù),并直接引用自身的參數(shù)做變量。

????def print_UP(self):

????????????print(self.ID);

#定義完成

#下面開(kāi)始生成一個(gè)UP

gender=1;

ID="HDTT"

HDTT=UP(1,50,gender,ID);

#這樣一個(gè)UP主類(lèi)就定義完成了。

#你可以通過(guò)調(diào)用類(lèi)中的變量來(lái)查看UP主的信息

print(HDTT.ID);

#還可以調(diào)用內(nèi)置函數(shù)

HDTT.print_UP();



下面開(kāi)始正式工作:

#定義一個(gè)成人類(lèi)

class adult:

? ? def __init__(self,pid,code_a_p,fid16,provcd16,urban16,cfps_age,cfps_gender,pq1101,cfps2016eduy_im,cfps2016eduy,cfps2016edu):

? ? ? ? #個(gè)人ID 1

? ? ? ? self.pid=pid;

? ? ? ? #家庭內(nèi)碼 3

? ? ? ? self.code_a_p=code_a_p;

? ? ? ? #家庭碼

? ? ? ? self.fid16=fid16;

? ? ? ? #省份 13

? ? ? ? self.provcd16=provcd16;

? ? ? ? #城鄉(xiāng) 16

? ? ? ? self.urban16=urban16

? ? ? ? #年齡?

? ? ? ? self.cfps_age=cfps_age;

? ? ? ? #性別

? ? ? ? self.cfps_gender=cfps_gender;? ? ? ??

? ? ? ? #是否讀書(shū)

? ? ? ? self.pq1101=pq1101;

? ? ? ? #受教育年限

? ? ? ? self.cfps2016eduy_im=cfps2016eduy_im;

? ? ? ? #已完成教育年限

? ? ? ? self.cfps2016eduy=cfps2016eduy;

? ? ? ? #最高學(xué)歷

? ? ? ? self.cfps2016edu=cfps2016edu;

? ? ? ??

然后開(kāi)始處理excel

#write包

import xlwt

#read包

import xlrd

#打開(kāi)成人的數(shù)據(jù)

#這里地址前的r是取消轉(zhuǎn)義符號(hào),意思是引號(hào)內(nèi)的斜杠不是用來(lái)生成特殊符號(hào)的

#比如\n就是回車(chē)。加上r就按"\n"而不是回車(chē)輸出了。

data_adult=xlrd.open_workbook(r"C:\Users\16000\Desktop\cfps2016adult_201906_2.xlsx");

#以索引的方式打開(kāi)第一個(gè)sheet表

table_adult = data_adult.sheet_by_index(0);

#獲取第一行,也就是表頭的參數(shù)

parameter_list_adult=table_adult.row_values(0);

adult_list=[];

adult_ID_list=[];

#開(kāi)始讀入數(shù)據(jù),以excel行列索引的方式讀入數(shù)據(jù)

#這里可以把excel表改成數(shù)字顯示方式,方便查看


選項(xiàng)→公式→R1C1引用樣式


for i in range(1,table_adult.nrows):

? ? ? ? ? ? #個(gè)人ID 1

? ? pid=table_adult.cell(i,0).value;

? ? ? ? #家庭內(nèi)碼 2

? ? code_a_p=table_adult.cell(i,1).value;

? ? ? ? #家庭碼 3

? ? fid16=table_adult.cell(i,2).value;

? ? if fid16 in child_fmlID_list:

? ? ? ? adult_ID_list.append(pid);

? ? ? ? #省份 13

? ? ? ? provcd16=table_adult.cell(i,3).value;

? ? ? ? #城鄉(xiāng) 16

? ? ? ? urban16=table_adult.cell(i,4).value;

? ? ? ? #年齡?

? ? ? ? cfps_age=table_adult.cell(i,5).value;

? ? ? ? #性別

? ? ? ? cfps_gender=table_adult.cell(i,6).value;

? ? ? ? #是否讀書(shū)

? ? ? ? pq1101=table_adult.cell(i,7).value;

? ? ? ? #受教育年限

? ? ? ? cfps2016eduy_im=table_adult.cell(i,9).value;

? ? ? ? #已完成教育年限

? ? ? ? cfps2016eduy=table_adult.cell(i,10).value;

? ? ? ? #最高學(xué)歷

? ? ? ? cfps2016edu=table_adult.cell(i,8).value;

? ? ? ??

#最后由讀取的變量,定義類(lèi)? ? ? ? adult_per=adult(pid,code_a_p,fid16,provcd16,urban16,cfps_age,cfps_gender,pq1101,cfps2016eduy_im,cfps2016eduy,cfps2016edu);

#把類(lèi)存入列表。

? ? ? ? adult_list.append(adult_per);


#寫(xiě)入數(shù)據(jù)

f=xlwt.Workbook();

sheet1 = f.add_sheet(u'sheet1',cell_overwrite_ok=True);

for i in range(1,len(adult_list)):

? ? sheet1.write(i,0,adult_list[i].fid16);

????sheet1.write(i,1,adult_list[i].provcd16);

f.save(r"C:\Users\16000\Desktop\result_family_8.xls");

PYTHON 類(lèi)定義與處理excel表的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
资源县| 孟村| 台东市| 藁城市| 鹤庆县| 苍梧县| 河南省| 莆田市| 黎平县| 汕头市| 郯城县| 石林| 浠水县| 贞丰县| 景宁| 广平县| 巴塘县| 华坪县| 广州市| 雅安市| 宝应县| 宜阳县| 广南县| 新沂市| 山阳县| 乌鲁木齐市| 兴国县| 临邑县| 西乡县| 孙吴县| 黔东| 鹤山市| 临沧市| 莱州市| 沁源县| 肥西县| 通州区| 南溪县| 曲周县| 遵化市| 年辖:市辖区|