openpyxl 如何将字典类型的数据写入Excel中

一、 目标

利用openpyxl库相关用法将字典类型的数据写入Excel中。

二、 实现代码
import openpyxl


data = [{'欢迎': 4},{'马上': 1}, {'登陆': 1}]
wb = openpyxl.Workbook()
ws = wb.active
ws.title = '测试'
n=1
for each in data:
    print(each)
    for key,value in each.items():
        ws['A' + str(n)] = key
        ws['B'+ str(n)] = value
        n = n + 1
    
wb.save('DATA.xlsx')
print('写入数据完毕')

运行结果

{'欢迎': 4}
{'马上': 1}
{'登陆': 1}
写入数据完毕
  • 打开Excel显示数据如下:
    在这里插入图片描述
Python,我们可以使用pandas库将数据写入Excel文件,并指定特定列的数据类型为文本。pandas的`to_excel`函数默认会将非数值类型的列保存为字符串格式。如果你希望所有数据都按照文本格式存储,可以这样做: 首先,确保安装了必要的库,如pandas和openpyxl(如果使用xlsxwriter作为后端): ```bash pip install pandas openpyxl ``` 然后,你可以使用以下步骤: 1. 导入pandas模块并创建DataFrame: ```python import pandas as pd # 创建一个示例DataFrame data = {'Name': ['张三', '李四', '王五'], 'Age': [25, 30, 35], 'Address': ['北京市', '上海市', '广州市']} df = pd.DataFrame(data) ``` 2. 使用`to_excel`函数写入Excel文件,设置`engine='openpyxl'`并传递`converters`参数: ```python # 设置为openpyxl引擎,转换器字典键是需要转为文本的列名,值是一个函数(这里直接用str) excel_writer = pd.ExcelWriter('output.xlsx', engine='openpyxl') df.to_excel(excel_writer, sheet_name='Sheet1', converters={'Address': str}) # 如果你想让所有的非数值列都转化为文本,可以遍历DataFrame列,找出非数值列: non_numeric_cols = df.select_dtypes(include=object).columns.tolist() if non_numeric_cols: converters = {col: str for col in non_numeric_cols} df.to_excel(excel_writer, sheet_name='Sheet1', converters=converters) # 关闭写入过程 excel_writer.save() ``` 这将会把"Address"列(或其他非数值列)的数据保存为文本格式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值