pandas-文件读取及写入

 表格读取

import pandas as pd

#sheet_name=0,读取第一份表,不填默认第一份表,填表名也可以
data = pd.read_excel("test.xlsx",sheet_name=0)

#筛选行data['名称'],就是excel筛选里面的头行
l = len(data['名称'])

#从筛选的行可以看成一个数组,data['名称'][0]为第一个元素
#数组里的元素是没有类型的,如果要和字符串或者数字匹配的话,建议str化或者int化
#遍历数组,另外
for i in range(0,l):
    print(str(data['ID'][i]))

表格写入

import pandas as pd


text="input.xlsx"      #文件 
sheet="Sheet1"    #哪张表
next_sheet='Sheet1'    #单表操作,对新建或者沿用表输出结果
next_sheet1='Sheet3'   #多表操作,对新建的表输出结果
"""需要对2行7列进行操作"""
iloc_han=2
iloc_lie=7
#变更内容
neirong='执行完成'

def excel_xieru_danbiao(text,sheet,iloc_han,iloc_lie,neirong,next_sheet):
    """
    单次修改
    在文件内
    对单表操作,多表会丢失其他表的数据
    可以对现有表格操作
    可以对新建表格操作
    """
    pd.set_option('display.unicode.east_asian_width',True)    #对齐行列,可以没有
    iloc_han=iloc_han-2     #第几行,第一行是索引行,索引行的下一行,即第二行从0开始,所以减2                                        
    iloc_lie=iloc_lie-1     #第几列,第一列从0开始,所以减1
    #读取内容
    df= pd.read_excel(text,sheet_name=sheet)
    df.iloc[iloc_han,iloc_lie]=neirong
    #修改,写入
    df.to_excel(text,sheet_name=sheet,index=False)
    
def excel_xieru_duobiao(text,sheet,iloc_han,iloc_lie,neirong,next_sheet):
    """
    单次修改
    在文件内
    对多表操作
    不能对现有表格操作,只能输出新表格
    #这个感觉不对劲,好像每次只能填入一个内容,每次都得删了新的表
    #已解决,mode='a'只能生成新的表,'w'就能覆盖旧表格了
    后续待优化
    """
    pd.set_option('display.unicode.east_asian_width',True)    #对齐行列,可以没有
    iloc_han=iloc_han-2     #第几行,第一行是索引行,索引行的下一行,即第二行从0开始,所以减2                                        
    iloc_lie=iloc_lie-1     #第几列,第一列从0开始,所以减1
    #读取内容
    df= pd.read_excel(text,sheet_name=sheet)
    df.iloc[iloc_han,iloc_lie]=neirong
    #修改,写入
    with pd.ExcelWriter(text,mode='a',engine='openpyxl') as writer:
        df.to_excel(writer,sheet_name=next_sheet1,index=False)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值