python使用pandas和xlsxwriter讀寫xlsx文件
已有xlsx文件如下:
1. 讀取前n行所有數據
1
2
3
4
5
6
7
8
|
# coding: utf-8 import pandas as pd # 1. 讀取前n行所有數據 df = pd.read_excel( 'school.xlsx' ) #讀取xlsx中第一個sheet data1 = df.head( 7 ) # 讀取前7行的所有數據,dataframe結構 data2 = df.values #list形式,讀取表格所有數據 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 #讀取第一行所有數據,0表示第一行,不包含表頭 data2 = df.ix[ 1 , 1 ] #讀取指定行列位置數據 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 ( "數據:\n{0}" . format (data1)) print ( "數據:\n{0}" . format (data2)) print ( "數據:\n{0}" . format (data3)) print ( "數據:\n{0}" . format (data4)) print ( "數據:\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 ( "輸出列標題{}" . format (df.columns.values)) #所有列名稱 |
4. 讀取xlsx數據轉換為字典
1
2
3
4
5
6
7
8
9
10
|
# coding: utf-8 import pandas as pd # 4. 讀取xlsx數據轉換為字典 df = pd.read_excel( 'school.xlsx' ) #讀取xlsx中第一個sheet test_data = [] for i in df.index.values: #獲取行號的索引,并對其進行遍歷: #根據i來獲取每一行指定的數據 并利用to_dict轉成字典 row_data = df.ix[i,[ 'id' , 'name' , 'class' , 'data' , 'stature' ]].to_dict() test_data.append(row_data) print ( "最終獲取到的數據是:{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 # 創建工作簿 file_name = "first_book.xlsx" workbook = xlsxwriter.workbook(file_name) # 創建工作表 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' ]) # 關閉工作簿 workbook.close() |
寫入的xlsx文件如下:
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
原文鏈接:https://blog.csdn.net/dcrmg/article/details/88353004