python踩坑 Pandas.to_excel(),使不同数据一次写入同一张Excel表中的不同Sheet表单

本文介绍了在Python中使用Pandas如何将不同数据写入同一Excel文件的不同Sheet。作者遇到的问题是遍历写入时只保留了最后一个Sheet,解决方法是正确初始化和使用ExcelWriter,确保每次写入不会覆盖已有数据。
摘要由CSDN通过智能技术生成


前言

  运行python,想在一个Excel表中的不同sheet表单中按需添加不同数据,经过遍历之前总是只有一个表单(即遍历的最后一个),已解决,如有错误,请纠正,万分感谢


使不同数据一次写入同一张Excel表中的不同Sheet表单

目的:想在同一张Excel表中,根据movie_id建立sheet表单。
   即每一个movie_id对应一个sheet,每一个sheet中存储相应movie_id对应的信息。

数据介绍:
  data_item[‘movie_id’]:保存所有的 movie_id(唯一)
  data_com数组:电影的评论信息,存储很多信息(评论者姓名,电影id号,等等),movie_id是其中一项,不唯一。

思路:
  遍历 data_item[‘movie_id’] 的每一项:
    为每一项建立一个表单sheet,表单名同id号;
    把 data_com[‘movie_id’] 与之相等的所有行都加入此表单

原始写法

for i in data_item['movie_id']:
   #当 movie_id 在
    data_com
### 回答1: 可以使用 pandas 库中的 ExcelWriter 和 to_excel 方法来实现。具体步骤如下: 1. 创建一个 ExcelWriter 对象,指定要写入Excel 文件路径和文件名。 2. 使用 to_excel 方法将数据写入 Excel 文件中的不同表单,可以指定表单名和写入的起始号。 3. 对于每个表单,可以使用 append 参数来控制是覆盖还是追加写入数据。 示例代码如下: ```python import pandas as pd # 创建一个 ExcelWriter 对象 writer = pd.ExcelWriter('data.xlsx') # 写入第一个表单 df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}) df1.to_excel(writer, sheet_name='Sheet1', index=False) # 写入第二个表单 df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]}) df2.to_excel(writer, sheet_name='Sheet2', index=False, startrow=2) # 追加写入第一个表单 df3 = pd.DataFrame({'A': [4, 5, 6], 'B': [7, 8, 9]}) df3.to_excel(writer, sheet_name='Sheet1', index=False, startrow=4, header=False, append=True) # 保存 Excel 文件 writer.save() ``` 这段代码将创建一个名为 data.xlsx 的 Excel 文件,其中包含两个表单 Sheet1 和 Sheet2。第一个表单中包含两列数据 A 和 B,第二个表单中包含两列数据 C 和 D。然后在第一个表单中追加写入了另外一组数据写入的起始号为 4,不包含表头。 ### 回答2: 在Python中,我们可以使用openpyxl库来操作Excel文件,实现将数据存入同一Excel文件的不同表单,并在每个表单中存入不同的列数据。 首先,我们需要安装openpyxl库,可以使用pip命令进安装:pip install openpyxl 接下来,我们可以通过以下步骤来实现: 1. 导入openpyxl库中的相关模块: ```python from openpyxl import Workbook from openpyxl.utils import get_column_letter ``` 2. 创建一个工作簿对象,并设置默认表单: ```python wb = Workbook() ws = wb.active ``` 3. 使用append方法将数据存入默认表单: ```python ws.append([数据1, 数据2, 数据3, ...]) ``` 4. 创建一个新的表单,并在每个表单中存入不同的列数据: ```python ws2 = wb.create_sheet(title="表单2") ws2.append([数据4, 数据5, 数据6, ...]) ws3 = wb.create_sheet(title="表单3") ws3.append([数据7, 数据8, 数据9, ...]) ``` 5. 保存Excel文件: ```python wb.save("文件名.xlsx") ``` 完整代码如下所示: ```python from openpyxl import Workbook from openpyxl.utils import get_column_letter # 创建工作簿对象 wb = Workbook() ws = wb.active # 在默认表单中存入数据 ws.append([数据1, 数据2, 数据3, ...]) # 创建新表单,并存入不同的列数据 ws2 = wb.create_sheet(title="表单2") ws2.append([数据4, 数据5, 数据6, ...]) ws3 = wb.create_sheet(title="表单3") ws3.append([数据7, 数据8, 数据9, ...]) # 保存Excel文件 wb.save("文件名.xlsx") ``` 按照上述步骤,我们就可以将数据存入同一Excel文件的不同表单,并分别存入不同的列数据。 ### 回答3: 在Python中,可以使用openpyxl库来实现将数据存入同一Excel文件的不同表单中,并且每一张表单都可以存入不同的列数据。 首先,需要安装openpyxl库。可以使用命令`pip install openpyxl`来进安装。 接下来,可以通过下述代码实现将数据存入不同表单中: ```python from openpyxl import Workbook # 创建一个工作簿对象 workbook = Workbook() # 创建一个表单对象 sheet1 = workbook.create_sheet("Sheet1") sheet2 = workbook.create_sheet("Sheet2") # 向表单写入数据 sheet1.append(["Sheet1的第一列数据", "Sheet1的第二列数据"]) sheet2.append(["Sheet2的第一列数据", "Sheet2的第二列数据"]) # 保存工作簿 workbook.save("data.xlsx") ``` 上述代码中,首先创建了一个工作簿对象`workbook`,然后使用`create_sheet`方法创建了两个表单对象`sheet1`和`sheet2`,分别命名为"Sheet1"和"Sheet2"。 然后,使用`append`方法向每个表单中分别写入了两列数据。可以根据需求,修改`append`方法中的数据。 最后,使用`save`方法保存工作簿到文件名为"data.xlsx"的Excel文件中。 通过以上步骤,就可以将不同数据存入同一Excel文件的不同表单中,并且每一张表单都可以存入不同的列数据
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值