前言:
python操做excel表格文件的增删读写,通常须要用到的第三方库有xlwt,xlrd。xlrd负责读取excel,xlwt负责写入excel文件。这种操做方法比较繁琐,效率还不错,通俗易懂。python
那么有没有一种更简便,操做更简单,效率还差很少的库呢?答案固然是必须有的。毕竟Python是以丰富的第三方库而做为热点的。
Pandas是xlwt,xlrd库的封装库,拥有更全面的操做对象,csv,excel,dataframe等等。在xlwt等读写库的基础上能够实现一个库操做不一样格式的文件。web
有点问题的是,Pandas操做excel文件比xlwt,xlrd更加抽象一些。app
接下来让咱们一块儿去探索一下:svg
1.建立 Excel表格文件
def create_excel(self):
"""
建立excel文件
:return:
"""
file_path = os.path.dirname(os.path.abspath(__file__)) + "/demo.xlsx"
df = pd.DataFrame(columns=["title", "content"])
df.to_excel(file_path, index=False)
在Dataframe对象中指定列名,columns参数表示第一行的列名值,是一个列表。学习
生成的excel表格以下:
2.Excel文件写入数据
2.1 空白excel写入数据
df = pd.DataFrame()
df.to_excel(file_path)
2.1非空白excel追加数据
class MakePandas():
def append_excel(self, df, content_list):
"""
excel文件中追加内容
:return:
content_list:待追加的内容列表
"""
print("进入主任务")
ds = pd.DataFrame(content_list)
print(ds)
df = df.append(ds, ignore_index=True)
excel_name = "/demo.xlsx"
excel_path = os.path.dirname(os.path.abspath(__file__)) + excel_name
df.to_excel(excel_path, index=False, header=False)
def remove_row(self, df, row_list):
"""
excel删除指定列
:param df:
:param row_list:
:return:
"""
df = df.drop(columns=row_list)
return df
def create_excel(self):
"""
建立excel文件
:return:
"""
file_path = os.path.dirname(os.path.abspath(__file__)) + "/demo.xlsx"
df = pd.DataFrame(columns=["title", "content"])
df.to_excel(file_path, index=False)
if __name__ == '__main__':
excel_name = "/demo.xlsx"
excel_path = os.path.dirname(os.path.abspath(__file__)) + excel_name
m = MakePandas()
df = pd.read_excel(excel_path, header=None)
b = []
for i in range(1, 10):
a = []
a.append(i)
a.append(i * 2)
b.append(a)
df = m.append_excel(df, b)
# print(df)
第一步,读取excel文件。须要注意的是,建立excel文件是须要指定index=False,不显示索引列。excel
第二步,构造数据列表,数据格式为 [[“a”,“b”],[“c”,“d”]],使用pandas库将列表转换为DataFrame对象code
第三步,调用Pandas的append方法,将待追加的dataframe对象加入生成新的dataframe对象。xml
第四步,生成新的excel文件。注意,指定index=False,headers=False,避免生成干扰行列数据。对象
最终的excel文件内容以下:
有问题的小伙伴能够留言讨论一下,Pandas刚刚接触,你们一块儿相互交流,相互学习吧。