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