Python筛选处理Excel的两种⽅法(openpyxl与pandas)Python处理Excel数据,有两种思路,
⼀是通过相应的execl库进⾏操作,优点是最⼤限度保留了excel的特性,缺点是速度慢
另⼀种是以数据的思维,通过Pandas等库进⾏数据处理,速度快,缺点是损失execl特性
需求:
读取⼀批excel表格⽂件,过滤出第三列数据符合某⼀条件的数据
⽅法1:利⽤ openpyxl库处理,思路是删除不符合需要的⾏
import openpyxl
select_list = [
"XXX",
"YYY"
]
python怎么读取excel的数据
#打开表格的第⼀个表单
wb = openpyxl.load_workbook("file_name.xlsx")
sheet = wb.worksheets[0]
#遍历⾏,删除不符合条件的⾏
for row ws:
for cell in row:
lumn ==3 and (cell.value not in select_list):
dinate, cell.w)
sheet.delete_w)
break
wb.save("new_file_name.xlsx")
经过测试,此⽅法速度很慢,适⽤数据不多的情况
⽅法2:利⽤pandas进⾏处理,转存成csv格式
import csv
import openpyxl
import pandas as pd
select_list = [
"AAA",
"BBB"
]
datas = []
#pd打开,注意指定引擎
df = pd.read_excel("file_name.xlsx", engine ="openpyxl")
# 获取⾏号的索引,并对其进⾏遍历:
for i in df.index.values:
if df.loc[i].values[2] in select_list:
print(df.loc[i].values)
datas.append(df.loc[i].list())
#遍历写⼊结果⽂件
with open("new_file_name.csv", 'w', newline='') as csvfile: writer = csv.writer(csvfile)
for row in datas:
writer.writerow(row)
此⽅法速度快很多,但是结果格式需要⼀定微调
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论