表格读取
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)