使用xlsxwriter将data1、data2分别写入Excel的sheet1、sheet2
时间: 2024-12-08 22:15:41 浏览: 13
`xlsxwriter`是一个用于Python的库,它允许你创建并操作Excel电子表格文件。如果你想将数据`data1`和`data2`分别写入Excel的不同工作表(sheet),可以按照以下步骤操作:
首先,你需要安装`xlsxwriter`库,如果还没有安装,可以使用pip命令安装:
```bash
pip install xlsxwriter
```
然后,你可以使用下面的代码示例:
```python
import xlsxwriter
# 创建一个新的Excel工作簿
workbook = xlsxwriter.Workbook('output.xlsx')
# 定义两个数据列表
data1 = ['A', 'B', 'C']
data2 = [1, 2, 3]
# 获取工作簿的对应工作表
sheet1 = workbook.add_worksheet('Sheet1')
sheet2 = workbook.add_worksheet('Sheet2')
# 写入Sheet1的数据
for row, item in enumerate(data1):
sheet1.write(row, 0, item)
# 写入Sheet2的数据
for row, item in enumerate(data2):
sheet2.write(row, 0, item)
# 关闭工作簿
workbook.close()
```
这里我们为每个数据列表创建了一个新的工作表,并通过循环遍历数据列表,将每一项写入对应的单元格。
相关问题
使用xlsxwriter 将不同数据分别写入excel 不同sheet并保存
使用`xlsxwriter`库将不同数据写入Excel的不同sheet(工作表),首先你需要做的是初始化一个`Workbook`对象,然后创建相应的`Worksheet`对象。每当你需要向新的工作表添加数据时,可以创建一个新的`Worksheet`。以下是基本步骤:
```python
import xlsxwriter
# 创建工作簿
workbook = xlsxwriter.Workbook('output.xlsx')
# 定义你要写入的数据和它们对应的工作表名称
data_list = [
{"name": "Sheet1", "data": [1, 2, 3]},
{"name": "Sheet2", "data": ["A", "B", "C"]},
# 更多数据...
]
for sheet_data in data_list:
# 根据数据创建新的工作表
worksheet = workbook.add_worksheet(sheet_data["name"])
# 获取当前行数和列数
row = 0
for item in sheet_data["data"]:
# 写入数据到指定位置
column = 0
worksheet.write(row, column, item)
# 每次写入后增加行数
row += 1
# 最后记得保存工作簿
workbook.close()
```
在这个例子中,`add_worksheet()`函数会为每个包含“name”键的数据创建一个新的工作表,并将数据列表中的值写入相应的工作表。最后,`workbook.close()`确保所有的更改都被保存到Excel文件中。
import os import pandas as pd # 设置目标文件夹路径 folder_path = r"D:/拆分后的工作簿" # 获取文件夹下所有的Excel文件 excel_files = [os.path.join(folder_path, f) for f in os.listdir(folder_path) if f.endswith('.xlsx')] # 创建一个空的DataFrame combined_data = pd.DataFrame() # 循环读取Excel文件,并将所有工作表合并到一个DataFrame中 for file in excel_files: print('Processing file:', file) excel_data = pd.read_excel(file, sheet_name=None) for sheet_name, sheet_data in excel_data.items(): sheet_data['Sheet'] = sheet_name combined_data = pd.concat([combined_data, sheet_data], ignore_index=True) # 将合并的数据写入一个Excel文件 writer = pd.ExcelWriter('combined_workbook.xlsx', engine='xlsxwriter') combined_data.to_excel(writer, index=False) writer.save()怎麽修改
你可以尝试将代码修改为以下形式,使用`with`语句来自动关闭文件:
```python
import os
import pandas as pd
# 设置目标文件夹路径
folder_path = r"D:/拆分后的工作簿"
# 获取文件夹下所有的Excel文件
excel_files = [os.path.join(folder_path, f) for f in os.listdir(folder_path) if f.endswith('.xlsx')]
# 创建一个空的DataFrame
combined_data = pd.DataFrame()
# 循环读取Excel文件,并将所有工作表合并到一个DataFrame中
for file in excel_files:
print('Processing file:', file)
excel_data = pd.read_excel(file, sheet_name=None)
for sheet_name, sheet_data in excel_data.items():
sheet_data['Sheet'] = sheet_name
combined_data = pd.concat([combined_data, sheet_data], ignore_index=True)
# 将合并的数据写入一个Excel文件
with pd.ExcelWriter('combined_workbook.xlsx', engine='xlsxwriter') as writer:
combined_data.to_excel(writer, index=False)
```
在这个修改后的代码中,我们使用`with`语句来创建ExcelWriter对象,并在代码块结束时自动关闭该对象。这样可以避免忘记手动关闭ExcelWriter对象而导致的文件无法保存的问题。
阅读全文