python写入excel多个sheet
时间: 2023-09-07 18:18:00 浏览: 226
可以使用Python中的pandas库来写入excel多个sheet。首先,需要将多个数据保存到一个字典中,每个键值对代表一个数据表。然后,使用pandas的ExcelWriter类创建一个Excel文件写入对象,并将字典中的每个数据表写入不同的sheet中。下面是一个示例代码:
```python
import pandas as pd
# 定义多个DataFrame数据表
df1 = pd.DataFrame({'col1': [1, 2], 'col2': ['A', 'B']})
df2 = pd.DataFrame({'col1': [3, 4], 'col2': ['C', 'D']})
# 将多个DataFrame保存到一个字典中
data = {'Sheet1': df1, 'Sheet2': df2}
# 创建Excel文件写入对象
writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter')
# 写入多个sheet
for sheet_name, df in data.items():
df.to_excel(writer, sheet_name=sheet_name, index=False)
# 保存Excel文件
writer.save()
```
这将创建一个名为test.xlsx的Excel文件,并将df1保存在名为Sheet1的sheet中,将df2保存在名为Sheet2的sheet中。
相关问题
python在excel多个sheet中分别写入数据并保存
在Python中,你可以使用pandas库和openpyxl或者xlwings等库来操作Excel文件,包括在多个工作表(Sheets)中写入数据。这里以pandas为例:
首先,安装必要的库:
```bash
pip install pandas openpyxl
```
然后,使用pandas的基本步骤如下:
1. 导入所需的模块:
```python
import pandas as pd
from openpyxl import load_workbook
```
2. 加载Excel文件,如果它不存在,可以创建一个新的:
```python
# 如果文件存在
wb = load_workbook('your_file.xlsx')
# 或者创建新的工作簿
if not wb:
wb = Workbook()
```
3. 创建DataFrame,填充数据:
```python
data = {
'Sheet1': {'Column1': [value1, value2], 'Column2': [value3, value4]},
'Sheet2': {'ColumnA': [value5, value6], 'ColumnB': [value7, value8]}
} # 根据实际数据替换这里的键值对
dfs = {sheet_name: pd.DataFrame(data[sheet_name]) for sheet_name in data}
```
4. 将DataFrame写入对应的工作表:
```python
for sheet_name, df in dfs.items():
ws = wb[sheet_name] # 获取工作表
df.to_excel(ws, index=False) # 写入数据
```
5. 最后,保存修改后的Excel文件:
```python
wb.save('your_file.xlsx')
```
如果你需要关闭工作簿,可以添加`wb.close()`。
python生成excel多个sheet
### 回答1:
可以使用 pandas 库来生成多个 sheet 的 Excel 文件。具体操作可以参考以下代码:
```python
import pandas as pd
# 创建 Excel 文件
writer = pd.ExcelWriter('example.xlsx', engine='xlsxwriter')
# 创建第一个 sheet
df1 = pd.DataFrame({'Data': [1, 2, 3, 4]})
df1.to_excel(writer, sheet_name='Sheet1', index=False)
# 创建第二个 sheet
df2 = pd.DataFrame({'Data': [5, 6, 7, 8]})
df2.to_excel(writer, sheet_name='Sheet2', index=False)
# 保存 Excel 文件
writer.save()
```
这样就可以生成一个名为 example.xlsx 的 Excel 文件,其中包含两个 sheet,分别为 Sheet1 和 Sheet2。
### 回答2:
Python可以使用xlwt和openpyxl等库来生成Excel文件,并创建多个sheet。下面是使用openpyxl生成多个sheet的示例代码:
```python
import openpyxl
# 创建一个新的Excel文件
wb = openpyxl.Workbook()
# 创建第一个sheet,并命名为Sheet1
sheet1 = wb.active
sheet1.title = "Sheet1"
# 在第一个sheet中写入数据
sheet1["A1"] = "Hello"
sheet1["B1"] = "World"
# 创建第二个sheet,并命名为Sheet2
sheet2 = wb.create_sheet("Sheet2")
# 在第二个sheet中写入数据
sheet2["A1"] = "Python"
sheet2["B1"] = "Excel"
# 保存Excel文件
wb.save("output.xlsx")
```
以上代码中,首先通过`openpyxl.Workbook()`创建了一个新的Excel文件对象,然后通过`wb.active`获取到默认的第一个sheet,并将其命名为"Sheet1",再通过索引操作将数据写入该sheet中。
接着使用`wb.create_sheet("Sheet2")`创建了第二个sheet,并将其命名为"Sheet2",再通过索引操作将数据写入该sheet中。
最后使用`wb.save("output.xlsx")`保存Excel文件,将文件名设置为"output.xlsx",即可生成一个包含多个sheet的Excel文件。
### 回答3:
在Python中,可以使用库Openpyxl来生成包含多个sheet的Excel文件。下面是一个简单的示例代码:
```python
import openpyxl
# 创建一个新的Excel文件
workbook = openpyxl.Workbook()
# 创建第一个sheet
sheet1 = workbook.active
sheet1.title = "Sheet1"
sheet1["A1"] = "这是Sheet1的内容"
# 创建第二个sheet
sheet2 = workbook.create_sheet(title="Sheet2")
sheet2["A1"] = "这是Sheet2的内容"
# 保存Excel文件
workbook.save("多个sheet的Excel文件.xlsx")
```
上述代码中,`openpyxl.Workbook()`用于创建一个新的Excel文件对象,`workbook.active`表示当前活动的sheet,可以直接对其进行操作。也可以使用`workbook.create_sheet()`来创建新的sheet,并指定其标题。使用`sheet["A1"]`可以为指定单元格赋值。
最后使用`workbook.save()`保存Excel文件。
阅读全文