当前位置:   article > 正文

pandas数据分析:excel文件写入_pandas循环写入excel

pandas循环写入excel

1.单文件写入

使用to_excel()方法,将DataFrame对象写入excel文件。to_excel()方法中,第一个参数是文件路径,如果文件不存在,则会自动创建该文件。其中,常用的参数有index和sheet_name。

index参数默认为True,系统在表格前添加一列以0为开头的索引列。sheet_name参数用来设置表名。

例如,

import pandas as pd

student_name = pd.DataFrame({"学号": [1, 2, 3, 4, 5], "姓名": ["赵", "钱", "孙", "李", "周"]})  # 创建一个名为student_name的DataFrame对象

student_name.to_excel("student.xlsx", sheet_name="学生名单", index=False)  # 在当前文件目录下创建一个student.xlsx文件,将student_name写入,取消索引列,表格名为"学生名单"
  • 1
  • 2
  • 3
  • 4
  • 5

2.多文件循环写入

如果要实现多文件循环写入,需要注意以下几点:
- 需要创建一个ExcelWriter对象。
- 如果表格名称和DataFrame对象的名称相同,需要将DataFrame名转换为字符串。
- 将表格名称和要写入的表格打包,以便循环写入。
- 最后要使用save()方法保存文件。

1.创建ExcelWriter对象

我们使用ExcelWriter()创建ExcelWriter对象。

ExcelWriter()中只需传入文件路径即可。

2.将DataFrame名称转为字符串

如果表格名和DataFrame名称相同,我们可以使用自定义函数的方法进行转换。

def namestr(obj, namespace=globals()):
    return [name for name in namespace if namespace[obj] is obj and len(name) > 1]
  • 1
  • 2

注意,该方法并不一定确保获取正确的名称,建议最后对excel文件进行手动检查。

globals()方法将返回一个包含所有变量名的字典。

3.打包表格名和DataFrame对象

我们使用zip()方法将表格名和DataFrame对象打包。

4.save()

注意,最后一定要使用save()方法保存文件。

5.实例

import pandas as pd  # 导入pandas库

student_name = pd.DataFrame({"学号": [1, 2, 3, 4, 5], "姓名": ["赵", "钱", "孙", "李", "周"]})
student_info = pd.DataFrame({"姓名": ["赵", "钱", "孙", "李", "周"], "性别": ["男", "女", "女", "男", "女"]})

def namestr(obj, namespace=globals()):
    return [name for name in namespace if namespace[name] is obj and len(name) > 1]  # 定义函数

sheets = [student_name, student_info]  # 表格列表
names = []  # 表名列表

for sheet in sheets:  # 将表名添加到表名列表
    names.append(namestr(sheet)[0])

sheets_names = zip(sheets, names)  # 打包

for sheet, name in sheets_names:  # 循环写入
    sheet.to_excel(writer, index=False, sheet_name=name)

writer.save()  # 文件保存
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/576330
推荐阅读
相关标签
  

闽ICP备14008679号