首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中的一个excel单元中放置一个二聚体(pref w/o大熊猫)

在python中的一个excel单元中放置一个二聚体(pref w/o大熊猫)
EN

Stack Overflow用户
提问于 2021-11-30 04:32:58
回答 1查看 35关注 0票数 0

我有一个二分法,我想把它放在一个excel单元格里。

代码语言:javascript
复制
import datetime
my_dict = {
    'key1':         'MOCK-12345-67890:09876', 
    'key2':         'MOCK-abcdef-ghijklmnop',
    'key3':         datetime.datetime.now(), # datetime format
    # ...
    'key15':    15029.62946216,              # float
    'key16':    [ 'MOCK-1', 'MOCK-2' ],      # list
    'info': {                                # dictonary
        'key_sub_1': 3934823,
        # ...
        'key_sub_25': 'MOCK-A'
        },
    }

期望输出: A2 ={key1:‘MOCK 12345-67890:09876’,‘key 2’:‘MOCK ghijklmnop’,‘key 3’:datetime.datetime(2021,11,30,9,25,14,548815),‘key 15’:15029.62946216,‘key 16’:‘mok-1’,‘mok-2’,'info':{'key_sub_1':3934823,'key_sub_25':‘MOCK A’}}

Excel中的期望输出

我的尝试(用熊猫):

代码语言:javascript
复制
import csv
import pandas as pd
import datetime

my_dict = {
    'key1':         'MOCK-12345-67890:09876', 
    'key2':         'MOCK-abcdef-ghijklmnop',
    'key3':         datetime.datetime.now(), # datetime format
    # ...
    'key15':    15029.62946216,              # float
    'key16':    [ 'MOCK-1', 'MOCK-2' ],      # list
    'info': {                                # dictonary
        'key_sub_1': 3934823,
        # ...
        'key_sub_25': 'MOCK-A'
        },
    }

data = {
    'Col1': str(my_dict),
    'Col2':'something wonderful'
    }

df = pd.DataFrame(data, index = [0])
writer = pd.ExcelWriter('delme1.xlsx', engine='openpyxl')
df.to_excel( writer, sheet_name = 'Sheet 1', index=False)
writer.save()

现在,我爱熊猫图书馆,但不如真正的动物。当上面的解决方案起作用时,我想知道是否有一种非熊猫的方法来做同样的事情,除非这是最好的(在效率上)。

总之

  1. 熊猫是最好的选择吗?
  2. 如果不是的话,非熊猫会是什么样的样子呢?

万一我错过了一些简单的东西--我不是蟒蛇的初学者,但这是我卑微的荣耀。

编辑:为什么在一个单元格中?

我知道在excel中很容易用表格的格式列出这个小块,但这不是我想要的。

  1. dict格式往往是非常数的,因此难以维护列名。
  2. dict内容只是为了记录,这些记录可能并不多用,但需要在那里,所以只需将其保存在一个单元格中就足够了--节省了不必要的工作。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-30 04:47:00

正如您在代码中所看到的,熊猫使用“openpyxl”作为引擎。因此,这是一种很好的方法。您可以直接使用openpyxl,如下所示。

代码语言:javascript
复制
import openpyxl as xl
import datetime

my_dict = {
    'key1':         'MOCK-12345-67890:09876', 
    'key2':         'MOCK-abcdef-ghijklmnop',
    'key3':         datetime.datetime.now(), # datetime format
    # ...
    'key15':    15029.62946216,              # float
    'key16':    [ 'MOCK-1', 'MOCK-2' ],      # list
    'info': {                                # dictonary
        'key_sub_1': 3934823,
        # ...
        'key_sub_25': 'MOCK-A'
        },
    }


wb = xl.Workbook() # create a new workbook
ws = wb.worksheets[0] # select the first worksheet

# write values to cells
ws["A1"].value = str(my_dict)
ws["B1"].value = "something wonderful"
# or you can try this
# ws.cell(row=1, column=1).value = str(my_dict)
# ws.cell(row=1, column=2).value = "something wonderful"

wb.save("delme1.xlsx") # save the workbook
wb.close() # close the workbook
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70164347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档