导航:首页 > 编程语言 > 删除Excel某一行Python

删除Excel某一行Python

发布时间:2022-09-06 13:32:29

python如何批量对文件夹里所有excel特定行进行删除

path是文件夹的路径,num是个数组,代表你要删除的行,把要删除的行写进去

㈡ 你好,请问python中怎么删除excel中的一列数据,我把rows改为columns不行

建议你这样试试看:

注意事项:

openpyxl 2.5以上版本才可以删除Excel表格的某行或某列。

㈢ 在python中如何删除文件的某一行

删除文件的某一行,可以跳过你要删除的行进行读写,如:

data=open(filename,'rt').readlines()
withopen(filename,'wt')ashandle:
handle.writelines(data[:tobedeleted])
handle.writelines(data[tobedeleted+1:])

其中data是逐行读取文件,

handle.writelines进行读写,跳过tobedeleted行

㈣ 怎么用python在excel中删除一行

xlrd读取excel,
保留需要的行,
再用xlwt写入excel

㈤ python怎么删除exce的l某些行例如这些行的某一格中带有字符串x或y或z...

自己帮你写的,在2.6版本下测试通过,你如果没安装pywin32模块要先下载安装一下。
希望对你有用!
=======================================================
#本程序在python2.6版本下测试通过

import win32com.client #这里用到win32com.client,需要安装pywin32模块
#下载地址 http://sourceforge.net/projects/pywin32/files/pywin32/Build216/

xlApp = win32com.client.Dispatch('Excel.Application') #打开EXCEL,这里不需改动
xlBook = xlApp.Workbooks.Open('D:\\1.xls') #将D:\\1.xls改为要处理的excel文件路径
xlSht = xlBook.Worksheets('sheet1') #要处理的excel页,默认第一页是‘sheet1’

n=20 #n改为要处理的表格内容的行数
m=5 #m改为要处理的表格的内容的列数

try: #为了加强程序健壮性,使用try...except方式避免出错后程序中断。可以将try、except删去。
i=1
while i<=n:
for j in range(1,m+1):
temp = str(xlSht.Cells(i,j).Value) #区每行每列各元素
if temp.find('x')>-1 or temp.find('y')>-1 or temp.find('z')>-1: #若其中含有x、y、z,这里可改为其他判断条件
xlSht.Rows(i).Delete() #将满足条件的元素所在行 整行删除
i=i-1
n=n-1 #由于删除了一行,同时修改相关参数,避免判断遗漏
break
i=i+1 #行标加1,继续判断下一行
except:
print 'runerror'

xlBook.Close(SaveChanges=1) #完成 关闭保存文件
del xlApp
=======================================================

㈥ python对excel操作

Python对于Excel的操作是多种多样的,掌握了相关用法就可以随心所欲的操作数据了!

操作xls文件

xlrd(读操作):

import xlrd

1、引入xlrd模块

workbook=xlrd.open_workbook("36.xls")

2、打开[36.xls]文件,获取excel文件的workbook(工作簿)对象

names=workbook.sheet_names()

3、获取所有sheet的名字

worksheet=workbook.sheet_by_index(0)

4、通过sheet索引获得sheet对象

worksheet为excel表第一个sheet表的实例化对象

worksheet=workbook.sheet_by_name("各省市")

5、通过sheet名获得sheet对象

worksheet为excel表sheet名为【各省市】的实例化对象

nrows=worksheet.nrows

6、获取该表的总行数

ncols=worksheet.ncols

7、获取该表的总列数

row_data=worksheet.row_values(n)

8、获取该表第n行的内容

col_data=worksheet.col_values(n)

9、获取该表第n列的内容

cell_value=worksheet.cell_value(i,j)

10、获取该表第i行第j列的单元格内容

xlwt(写操作):

import xlwt

1、引入xlwt模块

book=xlwt.Workbook(encoding="utf-8")

2、创建一个Workbook对象,相当于创建了一个Excel文件

sheet = book.add_sheet('test')

3、创建一个sheet对象,一个sheet对象对应Excel文件中的一张表格。

sheet.write(i, j, '各省市')

4、向sheet表的第i行第j列,写入'各省市'

book.save('Data\\36.xls')

5、保存为Data目录下【36.xls】文件

操作xlsx文件

openpyxl(读操作):

import openpyxl

1、引入openpyxl模块

workbook=openpyxl.load_workbook("36.xlsx")

2、打开[36.xlsx]文件,获取excel文件的workbook(工作簿)对象

names=workbook.sheetnames

worksheet=workbook.worksheets[0]

worksheet=workbook["各省市"]

ws = workbook.active

6、获取当前活跃的worksheet,默认就是第一个worksheet

nrows=worksheet.max_row

7、获取该表的总行数

ncols=worksheet.max_column

8、获取该表的总列数

content_A1= worksheet['A1'].value

9、获取该表A1单元格的内容

content_A1=worksheet.cell(row=1,column=1).value

10、获取该表第1列第1列的内容

openpyxl(写操作):

workbook=openpyxl.Workbook()worksheet = workbook.active

3、获取当前活跃的worksheet,默认就是第一个worksheet

worksheet.title="test"

4、worksheet的名称设置为"test"

worksheet = workbook.create_sheet()

5、创建一个新的sheet表,默认插在工作簿末尾

worksheet.cell(i,j,'空')

6、第i行第j列的值改成'空'

worksheet["B2"]="空"

7、将B2的值改成'空'

worksheet.insert_cols(1)

8、在第一列之前插入一列

worksheet.append(["新增","台湾省"])

9、添加行

workbook.save("Data\\36.xlsx")

10、保存为Data目录下【36.xlsx】文件

pandas处理excel文件

pandas操作:

import pandas as pd

1、引入pandas模块

data = pd.read_excel('36.xls')

2、读取[36.xls]或者[36.xlsx]文件

data = pd.read_csv('36.csv')

3、读取[36.csv]文件

data=data.dropna(subset=['店铺'])

4、过滤掉data店铺列有缺失的数据

data.sort_values("客户网名", inplace=True)

5、将data数据按照客户网名列进行从小到大排序

data = pd.read_csv(36.csv, skiprows = [0,1,2],sep = None, skipfooter = 4)

6、读取[36.csv]文件,前三行和后四行的数据略过

data = data.fillna('空')

7、将data中的空白处填充成'空'

data.drop_plicates('订单','first',inplace=True)

8、data中的数据,按照【订单】列做去重处理,保留第一条数据

data=pd.DataFrame(data,columns=['订单','仓库'])

9、只保留data中【订单】【仓库】列的数据

data = data[(data[u'展现量'] > 0)]

10、只保留【展现量】列中大于0的数据

data= data[data["订单"].str.contains('000')]

11、只保留【订单】列中包含'000'的数据

data= data[data["仓库"]=='正品仓']

12、只保留【仓库】列是'正品仓'的数据

xs= data[data["店铺"]=='南极人']['销售额']

13、获取店铺是南极人的销售额数据

data['订单'] = data['订单'].str[3:7]

14、【订单】列的值只保留4-8个字节的值

data["邮资"] = np.where((data['店铺'].str.contains('T|t')) & -(data['仓库'] == '代发仓'), 8, data['邮资'])

15、满足店铺列包含 T 或 t 并且仓库不等于'代发仓'的话,将邮资的值改成8,否则值不变

data = np.array(data).tolist()

16、将data从DataFrame转换成列表

data=pd.DataFrame(data)

17、将列表转换成DataFrame格式

zhan = data[u'展现'].sum().round(2)

18、将data中所有展现列数据求和,并取两位小数

sum=data.groupby(['店铺'])['刷单'].sum()

19、将data中按照店铺对刷单进行求和

counts=data['店铺'].value_counts()

20、将data按照店铺进行计算

avg=data.groupby(['店铺'])['刷单'].mean()

21、将data按照店铺对刷单进行求平均数

count = pd.concat([counts,sum], axis=1, ignore_index=True, sort=True)

22、将counts和sum两个DataFrame进行了组合

count=count.rename(index=str, columns={0: "订单", 1: "成本"})

23、将新生成的DataFrame列名进行修改

data = pd.merge(sum, counts, how='left', left_on='店铺', right_on='店铺')

24、将列表转换成DataFrame格式

from openpyxl import Workbook 

wb=Workbook()  

ws1=wb.active 

data.to_excel('36.xlsx') 

wb.close()

25、data完整的写入到关闭过程,执行此操作的时候【36.xlsx】不能是打开状态

excel格式操作

样式处理:

1、打开【36.xlsx】

sheet=workbook.worksheets[0]

2、将第一个sheet对象赋值给sheet

sheet.column_dimensions['A'].width = 20.0

3、将A列的宽度设置为20

sheet.row_dismensions[1].height = 20.0

4、将第一行的行高设置为20

sheet.merge_cells('A1:A2')

5、将sheet表A1和A2单元格合并

sheet.unmerge_cells('A1:A2')

6、将sheet表A1和A2单元格取消合并

sheet.insert_rows(2,2)

7、将sheet表从第2行插入2行

sheet.insert_cols(3,2)

8、将sheet表从第3列插入2列

sheet.delete_rows(2)

9、删除第2行

sheet.delete_cols(3, 2)

10、将sheet表从第3列开始删除2列

from openpyxl.styles import Font, Border, PatternFill, colors, Alignment

11、分别引入字体、边框、图案填充、颜色、对齐方式

sheet.cell(i,j).font = Font(name='Times New Roman', size=14, bold=True, color=colors.WHITE)

12、设置sheet表第 i 行第 j 列的字体

sheet.cell(i,j).alignment = Alignment(horizontal='center', vertical='center')

13、设置sheet表第 i 行第 j 列的字体对齐方式

left, right, top, bottom = [Side(style='thin', color='000000')] * 4sheet.cell(i,j).border = Border(left=left, right=right, top=top, bottom=bottom)

14、引入边框样式并调用

fill = PatternFill("solid", fgColor="1874CD")sheet.cell(1,j).fill = fill

15、引入填充样式,并调用

import xlrd

from openpyxl import Workbook

from openpyxl import load_workbook

workbook=load_workbook(filename='C:/Users/EDZ/Desktop/工作/2021.08.03/大兄弟.xlsx')

sheet=workbook.active

sheet.insert_cols(idx=1)

sheet.merge_cells(A1:A3)

sheet['A1']=['上海','山东','浙江']

㈦ python 如何删除excel特定行信息

xls处理需要特殊组件,可以考虑转换成cvs,然后就可以像文本一样解析了,处理完再转换回来就Ok了。

㈧ python 如何删除excel 特定行

筛选--自定义筛选----选‘不等于某值'---填入你所谓的特定字符----确定

㈨ pandas python 怎么删除表格中的某一行

某列中所有的数据都是1,加起来不就是总行数吗?引言本文的目的,是向您展示如何使用pandas来执行一些常见的Excel任务。有些例子比较琐碎,但我觉得展示这些简单的东西与那些你可以在其他地方找到的复杂功能同等重要。作为额外的福利,我将会进行一些模糊字符串匹配,以此来展示一些小花样,以及展示pandas是如何利用完整的Python模块系统去做一些在Python中是简单,但在Excel中却很复杂的事情的。有道理吧?让我们开始吧。为某行添加求和项我要介绍的第一项任务是把某几列相加然后添加一个总和栏。首先我们将excel数据导入到pandas数据框架中。=pd.read_excel("excel-comp-data.xlsx")df.head()我们想要添加一个总和栏来显示Jan、Feb和Mar三个月的销售总额。在Excel和pandas中这都是简单直接的。对于Excel,我在J列中添加了公式sum(G2:I2)。在Excel中看上去是这样的:下面,我们是这样在pandas中操作的:df["total"]=df["Jan"]+df["Feb"]+df["Mar"]df.head()接下来,让我们对各列计算一些汇总信息以及其他值。如下Excel表所示,我们要做这些工作:如你所见,我们在表示月份的列的第17行添加了SUM(G2:G16),来取得每月的总和。进行在pandas中进行列级别的分析很简单。下面是一些例子:df["Jan"].sum(),df["Jan"].mean(),df["Jan"].min(),df["Jan"].max()(1462000,97466.666666666672,10000,162000)现在我们要把每月的总和相加得到它们的和。这里pandas和Excel有点不同。在Excel的单元格里把每个月的总和相加很简单。由于pandas需要维护整个DataFrame的完整性,所以需要一些额外的步骤。首先,建立所有列的总和栏sum_row=df[["Jan","Feb","Mar","total"]].sum()sum_:int64这很符合直觉,不过如果你希望将总和值显示为表格中的单独一行,你还需要做一些微调。我们需要把数据进行变换,把这一系列数字转换为DataFrame,这样才能更加容易的把它合并进已经存在的数据中。T函数可以让我们把按行排列的数据变换为按列排列。df_sum=pd.DataFrame(data=sum_row).Tdf_sum在计算总和之前我们要做的最后一件事情是添加丢失的列。我们使用reindex来帮助我们完成。技巧是添加全部的列然后让pandas去添加所有缺失的数据。df_sum=df_sum.reindex(columns=df.columns)df_sum现在我们已经有了一个格式良好的DataFrame,我们可以使用append来把它加入到已有的内容中。df_final=df.append(df_sum,ignore_index=True)df_final.tail()额外的数据变换另外一个例子,让我们尝试给数据集添加状态的缩写。对于Excel,最简单的方式是添加一个新的列,对州名使用vlookup函数并填充缩写栏。我进行了这样的操作,下面是其结果的截图:你可以注意到,在进行了vlookup后,有一些数值并没有被正确的取得。这是因为我们拼错了一些州的名字。在Excel中处理这一问题是一个巨大的挑战(对于大型数据集而言)幸运的是,使用pandas我们可以利用强大的python生态系统。考虑如何解决这类麻烦的数据问题,我考虑进行一些模糊文本匹配来决定正确的值。幸运的是其他人已经做了很多这方面的工作。fuzzywuzzy库包含一些非常有用的函数来解决这类问题。首先要确保你安装了他。我们需要的另外一段代码是州名与其缩写的映射表。而不是亲自去输入它们,谷歌一下你就能找到这段代码code。首先导入合适的fuzzywuzzy函数并且定义我们的州名映射表。_to_code={"VERMONT":"VT","GEORGIA":"GA","IOWA":"IA","ArmedForcesPacific":"AP","GUAM":"GU","KANSAS":"KS","FLORIDA":"FL","AMERICANSAMOA":"AS","NORTHCAROLINA":"NC","HAWAII":"HI","NEWYORK":"NY","CALIFORNIA":"CA","ALABAMA":"AL","IDAHO":"ID","FEDERATEDSTATESOFMICRONESIA":"FM","ArmedForcesAmericas":"AA","DELAWARE":"DE","ALASKA":"AK","ILLINOIS":"IL","ArmedForcesAfrica":"AE","SOUTHDAKOTA":"SD","CONNECTICUT":"CT","MONTANA":"MT","MASSACHUSETTS":"MA","PUERTORICO":"PR","ArmedForcesCanada":"AE","NEWHAMPSHIRE":"NH","MARYLAND":"MD","NEWMEXICO":"NM","MISSISSIPPI":"MS","TENNESSEE":"TN","PALAU":"PW","COLORADO":"CO","ArmedForcesMiddleEast":"AE","NEWJERSEY":"NJ","UTAH":"UT","MICHIGAN":"MI","WESTVIRGINIA":"WV","WASHINGTON":"WA","MINNESOTA":"MN","OREGON":"OR","VIRGINIA":"VA","VIRGINISLANDS":"VI","MARSHALLISLANDS":"MH","WYOMING":"WY","OHIO":"OH","SOUTHCAROLINA":"SC","INDIANA":"IN","NEVADA":"NV","LOUISIANA":"LA","NORTHERNMARIANAISLANDS":"MP","NEBRASKA":"NE","ARIZONA":"AZ","WISCONSIN":"WI","NORTHDAKOTA":"ND","ArmedForcesEurope":"AE","PENNSYLVANIA":"PA","OKLAHOMA":"OK","KENTUCKY":"KY","RHODEISLAND":"RI","DISTRICTOFCOLUMBIA":"DC","ARKANSAS":"AR","MISSOURI":"MO","TEXAS":"TX","MAINE":"ME"}这里有些介绍模糊文本匹配函数如何工作的例子。process.extractOne("Minnesotta",choices=state_to_code.keys())('MINNESOTA',95)process.extractOne("AlaBAMMazzz",choices=state_to_code.keys(),score_cutoff=80)现在我知道它是如何工作的了,我们创建自己的函数来接受州名这一列的数据然后把他转换为一个有效的缩写。这里我们使用score_cutoff的值为80。你可以做一些调整,看看哪个值对你的数据来说比较好。你会注意到,返回值要么是一个有效的缩写,要么是一个np.nan所以域中会有一些有效的值。defconvert_state(row):abbrev=process.extractOne(row["state"],choices=state_to_code.keys(),score_cutoff=80)ifabbrev:returnstate_to_code[abbrev[0]]returnnp.nan把这列添加到我们想要填充的单元格,然后用NaN填充它df_final.insert(6,"abbrev",np.nan)df_final.head()我们使用apply来把缩写添加到合适的列中。df_final['abbrev']=df_final.apply(convert_state,axis=1)df_final.tail()我觉的这很酷。我们已经开发出了一个非常简单的流程来智能的清理数据。显然,当你只有15行左右数据的时候这没什么了不起的。但是如果是15000行呢?在Excel中你就必须进行一些人工清理了。分类汇总在本文的最后一节中,让我们按州来做一些分类汇总(subtotal)。在Excel中,我们会用subtotal工具来完成。输出如下:在pandas中创建分类汇总,是使用groupby来完成的。df_sub=df_final[["abbrev","Jan","Feb","Mar","total"]].groupby('abbrev').sum()df_sub然后,我们想要通过对dataframe中所有的值使用applymap来把数据单位格式化为货币。defmoney(x):return"${:,.0f}".format(x)formatted_df=df_sub.applymap(money)formatted_df格式化看上去进行的很顺利,现在我们可以像之前那样获取总和了。sum_row=df_sub[["Jan","Feb","Mar","total"]].sum()sum_:int64把值变换为列然后进行格式化。df_sub_sum=pd.DataFrame(data=sum_row).Tdf_sub_sum=df_sub_sum.applymap(money)df_sub_sum最后,把总和添加到DataFrame中。final_table=formatted_df.append(df_sub_sum)final_table你可以注意到总和行的索引号是‘0'。我们想要使用rename来重命名它。final_table=final_table.rename(index={0:"Total"})final_table结论到目前为止,大部分人都已经知道使用pandas可以对数据做很多复杂的操作——就如同Excel一样。因为我一直在学习pandas,但我发现我还是会尝试记忆我是如何在Excel中完成这些操作的而不是在pandas中。我意识到把它俩作对比似乎不是很公平——它们是完全不同的工具。但是,我希望能接触到哪些了解Excel并且想要学习一些可以满足分析他们数据需求的其他替代工具的那些人。我希望这些例子可以帮助到其他人,让他们有信心认为他们可以使用pandas来替换他们零碎复杂的Excel,进行数据操作。

阅读全文

与删除Excel某一行Python相关的资料

热点内容
android伸缩控件 浏览:851
androidm3u8缓存 浏览:234
imphp开源知乎 浏览:706
清除网络通配符dos命令 浏览:837
鸿蒙系统怎么快速换回安卓 浏览:712
pdf绿色虚拟打印机 浏览:213
androidtab框架 浏览:147
java转php的时间戳 浏览:640
编译libstdc依赖 浏览:659
清算法人与原法人的区别 浏览:410
家庭装修下载什么app软件 浏览:576
美食博主用什么app拍视频 浏览:817
ipone手机如何加密微信 浏览:358
自来水加密阀阀帽 浏览:438
华为交换机dhcp配置命令 浏览:319
androidbitmap缩小 浏览:275
单片机串口控制灯 浏览:88
大讯云服务器安装视频 浏览:788
华为算法领先世界 浏览:658
linux路由重启 浏览:570