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写入,取消索引列,表格名为"学生名单"

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]

注意,该方法并不一定确保获取正确的名称,建议最后对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()  # 文件保存
  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值