python创建excel表格_Python Pandas操作Excel表格文件:创建新表格,追加数据

前言:

python操作excel表格文件的增删读写,一般需要用到的第三方库有xlwt,xlrd。xlrd负责读取excel,xlwt负责写入excel文件。这种操作方法比较繁琐,效率还不错,通俗易懂。

那么有没有一种更简便,操作更简单,效率还差不多的库呢?答案当然是必须有的。毕竟Python是以丰富的第三方库而作为热点的。

Pandas是xlwt,xlrd库的封装库,拥有更全面的操作对象,csv,excel,dataframe等等。在xlwt等读写库的基础上可以实现一个库操作不同格式的文件。

有点问题的是,Pandas操作excel文件比xlwt,xlrd更加抽象一些。

接下来让我们一起去探索一下:

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表格如下:

6b4233eca7fa40c1b982810acf2ce529.jpg

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,不显示索引列。

第二步,构造数据列表,数据格式为 [[“a”,“b”],[“c”,“d”]],使用pandas库将列表转换为DataFrame对象

第三步,调用Pandas的append方法,将待追加的dataframe对象加入生成新的dataframe对象。

第四步,生成新的excel文件。注意,指定index=False,headers=False,避免生成干扰行列数据。

最终的excel文件内容如下:

4869aad9c63d4fc0aa2f6b4c654e1171.png

有问题的小伙伴可以留言讨论一下,Pandas刚刚接触,大家一起相互交流,相互学习吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值