使用pandas对xlsx文件的基本操作

起因:因最近实习期间,要求查看.xlsx文件中数据是否有误,由于数据较多,想用python去执行,结果发现网上对xlsx文件操作或是太旧,大多难以应用,所以自己整理了一下,以备自己后用。

模拟一个测试数据集data_test.xlsx文件,文件如下:

使用pandas对xlsx文件的基本操作_第1张图片

  • 导入pandas,并读入文件
# 若报错:SyntaxError: Non-UTF-8 code starting with '\xd0' in file,则把下面这句加上
# coding=gbk
import pandas as pd
df = pd.read_excel('C:/Users/enuit/Desktop/data_test.xlsx')
  • 读取行列数及索引
#  行数 (不包含表头,且一下均如此)
print(len(df.index.values))
# 行索引 
print(df.index.values)
#  列数
print(len(df.columns.values))
#  列索引
print(df.columns.values)

使用pandas对xlsx文件的基本操作_第2张图片

  • 读取指定单行和多行数据
#  表示第0行数据
data = df.loc[0].values
print('第0行数据: \n', data)
#  读取多行数据(这里是第1行和第2行)
data = df.loc[[1, 2]].values
print('第1行和第2行数据: \n', data)

 使用pandas对xlsx文件的基本操作_第3张图片

  • 读取指定单列和多列数据
#  读第1列数据
data = df.iloc[:, 1].values
print('第1列数据: \n', data)
#  读取多列数据(这里是第1列和第2列)
data = df.iloc[:, [1, 2]].values
print('第1列和第2列数据: \n', data)

使用pandas对xlsx文件的基本操作_第4张图片

  •  读取单元格数据或部分数据
#  读取指定单元格数据(这里是第1行第一列数据)
data = df.iloc[1, 2]
print(data)
#  读取多行多列数据(第1,2行1,2列的数据)
data = df.iloc[[1, 2], [1, 2]].values
print(data)

 

  •  输出数据到xlsx文件(举一个抽取大于等于90分数据的任务)
#  任务:输出满足成绩大于等于90的数据
writer = pd.ExcelWriter('C:/Users/enuit/Desktop/out_test.xlsx')
temp = []
for i in range(len(df.index.values)):
    if df.iloc[i, 3] >= 90:
        temp.append(df.iloc[i].values)
df2 = pd.DataFrame(data=temp, columns=df.columns.values)
#  不写index会输出索引
df2.to_excel(writer, 'Sheet', index=False)
writer.save()

使用pandas对xlsx文件的基本操作_第5张图片 

 

你可能感兴趣的:(Utils)