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

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

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

  • 导入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)

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

 

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

  •  读取单元格数据或部分数据
#  读取指定单元格数据(这里是第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()

 

 

  • 43
    点赞
  • 157
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值