如何将{‘1’:“2,3,4”, '2':'4,5,6'}里的value值依次添加到excel表格第一行中含有‘1’以及‘2’,‘3’,‘4’,‘5’的列的第一行第二行和第三行中,用python中的openpyxl实现
时间: 2024-05-07 16:21:48 浏览: 180
可以按照以下步骤实现:
1. 导入openpyxl模块和re模块(用于处理字符串)。
```python
import openpyxl
import re
```
2. 打开需要写入数据的Excel文件。
```python
wb = openpyxl.load_workbook('your_excel_file.xlsx')
```
3. 获取需要写入数据的工作表。
```python
ws = wb['your_worksheet_name']
```
4. 定义一个函数,用于将字符串格式的数据转化为列表。
```python
def str_to_list(s):
return re.findall('\d+', s)
```
5. 遍历字典,将value值依次添加到对应的列中。
```python
for key, value in your_dict.items():
col = int(key) # 将key转化为列号
row = 1 # 第一行
for num in str_to_list(value): # 将value转化为列表
ws.cell(row=row, column=col).value = num # 写入数据
row += 1 # 下一行
```
6. 保存Excel文件。
```python
wb.save('your_excel_file.xlsx')
```
完整代码如下:
```python
import openpyxl
import re
def str_to_list(s):
return re.findall('\d+', s)
wb = openpyxl.load_workbook('your_excel_file.xlsx')
ws = wb['your_worksheet_name']
your_dict = {'1': '2,3,4', '2': '4,5,6'}
for key, value in your_dict.items():
col = int(key)
row = 1
for num in str_to_list(value):
ws.cell(row=row, column=col).value = num
row += 1
wb.save('your_excel_file.xlsx')
```
阅读全文