python使用pandas和xlsxwriter讀寫xlsx文件
已有xlsx文件如下:
1. 讀取前n行所有數(shù)據(jù)
1
2
3
4
5
6
7
8
|
# coding: utf-8 import pandas as pd # 1. 讀取前n行所有數(shù)據(jù) df = pd.read_excel( 'school.xlsx' ) #讀取xlsx中第一個sheet data1 = df.head( 7 ) # 讀取前7行的所有數(shù)據(jù),dataframe結(jié)構(gòu) data2 = df.values #list形式,讀取表格所有數(shù)據(jù) print ( "獲取到所有的值:\n{0}" . format (data1)) #格式化輸出 print ( "獲取到所有的值:\n{0}" . format (data2)) #格式化輸出 |
2. 讀取特定行,特定列
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
# coding: utf-8 import pandas as pd # 2. 讀取特定行,特定列 df = pd.read_excel( 'school.xlsx' ) #讀取xlsx中第一個sheet data1 = df.ix[ 0 ].values #讀取第一行所有數(shù)據(jù),0表示第一行,不包含表頭 data2 = df.ix[ 1 , 1 ] #讀取指定行列位置數(shù)據(jù) data3 = df.ix[[ 1 , 2 ]].values #讀取指定多行 data4 = df.ix[:,[ 0 ]].values #讀取指定列的所有行 #data4 = df[u'class'].values #同上 data5 = df.ix[:,[u 'class' ,u 'name' ]].values #讀取指定鍵值列的所有行 print ( "數(shù)據(jù):\n{0}" . format (data1)) print ( "數(shù)據(jù):\n{0}" . format (data2)) print ( "數(shù)據(jù):\n{0}" . format (data3)) print ( "數(shù)據(jù):\n{0}" . format (data4)) print ( "數(shù)據(jù):\n{0}" . format (data5)) |
3. 獲取xlsx文件行號,所有列名稱
1
2
3
4
5
6
|
# coding: utf-8 import pandas as pd # 3. 獲取xlsx文件行號,所有列名稱 df = pd.read_excel( 'school.xlsx' ) #讀取xlsx中第一個sheet print ( "輸出行號列表{}" . format (df.index.values)) # 獲取xlsx文件的所有行號 print ( "輸出列標(biāo)題{}" . format (df.columns.values)) #所有列名稱 |
4. 讀取xlsx數(shù)據(jù)轉(zhuǎn)換為字典
1
2
3
4
5
6
7
8
9
10
|
# coding: utf-8 import pandas as pd # 4. 讀取xlsx數(shù)據(jù)轉(zhuǎn)換為字典 df = pd.read_excel( 'school.xlsx' ) #讀取xlsx中第一個sheet test_data = [] for i in df.index.values: #獲取行號的索引,并對其進(jìn)行遍歷: #根據(jù)i來獲取每一行指定的數(shù)據(jù) 并利用to_dict轉(zhuǎn)成字典 row_data = df.ix[i,[ 'id' , 'name' , 'class' , 'data' , 'stature' ]].to_dict() test_data.append(row_data) print ( "最終獲取到的數(shù)據(jù)是:{0}" . format (test_data)) |
5. 寫xlsx文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#coding: utf-8 import xlsxwriter # 創(chuàng)建工作簿 file_name = "first_book.xlsx" workbook = xlsxwriter.workbook(file_name) # 創(chuàng)建工作表 worksheet = workbook.add_worksheet( 'sheet1' ) # 寫單元格 worksheet.write( 0 , 0 , 'id' ) worksheet.write( 0 , 1 , 'name' ) worksheet.write( 0 , 2 , 'class' ) worksheet.write( 0 , 3 , 'data' ) # 寫行 worksheet.write_row( 1 , 0 , [ 1 , 2 , 3 ]) # 寫列,其中列d需要大寫 worksheet.write_column( 'd2' , [ 'a' , 'b' , 'c' ]) # 關(guān)閉工作簿 workbook.close() |
寫入的xlsx文件如下:
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對服務(wù)器之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
原文鏈接:https://blog.csdn.net/dcrmg/article/details/88353004