当前位置:   article > 正文

Python Pandas操作Excel表格文件:创建新表格,追加数据_pandas创建新的工作表并写入内容

pandas创建新的工作表并写入内容
前言:

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在Dataframe对象中指定列名,columns参数表示第一行的列名值,是一个列表。

生成的excel表格如下:
在这里插入图片描述

2.Excel文件写入数据
2.1 空白excel写入数据
df = pd.DataFrame()
df.to_excel(file_path)
  • 1
  • 2
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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52

第一步,读取excel文件。需要注意的是,创建excel文件是需要指定index=False,不显示索引列。

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

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

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

最终的excel文件内容如下:
在这里插入图片描述

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/69673
推荐阅读
相关标签
  

闽ICP备14008679号