【问题标题】:how to convert data into table excel with python? [closed]如何使用python将数据转换为表格excel? [关闭]
【发布时间】:2021-10-27 08:25:06
【问题描述】:

我有这样显示的数据:

Name1 : Name1 - {'Name1.1': ('data1', data2,data3), 'Name1.2': ('data1', data2,data3)}

Name2 : Name2 - {'Name2.1': ('data1', data2,data3)}

Name3 : Name3 - {'Name3.1': ('data1', data2,data3), 'Name3.2': ('data1', data2,data3),'Name3.3': ( 'data1', data2,data3)}

我想把它转换成表格 excel 到那个表格:

我尝试了很多组合,但我还是个初学者都失败了,谁能帮忙?提前谢谢你。

【问题讨论】:

  • “这样显示”是什么意思,这不是有效的 python 数据存储格式。您还说您尝试了很多事情,请至少展示您迄今为止尝试过的最有希望的方法。
  • 请清楚说明您想要达到的目标。
  • @Andreas 我用 "print("{} : {} - {}".format(name1, name2, data))" 列出类似的数据,数据是 "data[name ]=data1,data2,data3"
  • 请尝试提供一个好的示例:how-to-make-good-reproducible-pandas-examples 否则我们需要更长的时间才能重现您的问题,然后才能真正解决它。

标签: python excel pandas dataframe csv


【解决方案1】:

如果你想改进你的输入,你可以接近:

示例:

import ast
import pandas as pd

# string as given is not valid...
s = '''
Name1 : Name1 - {'Name1.1': ('data1', data2,data3), 'Name1.2': ('data1', 'data2','data3')}
Name2 : Name2 - {'Name2.1': ('data1', data2,data3)}
Name3 : Name3 - {'Name3.1': ('data1', data2,data3), 'Name3.2': ('data1', 'data2','data3'),'Name3.3': ('data1', 'data2','data3')}
'''


# valid as all the dataX strings are in quotes...
s = '''
Name1 : Name1 - {'Name1.1': ('data1', 'data2','data3'), 'Name1.2': ('data1', 'data2','data3')}
Name2 : Name2 - {'Name2.1': ('data1', 'data2','data3')}
Name3 : Name3 - {'Name3.1': ('data1', 'data2','data3'), 'Name3.2': ('data1', 'data2','data3'),'Name3.3': ('data1', 'data2','data3')}
'''


ds = []

for l in s.splitlines():
    d = l.split('-')
    if len(d) > 1:
        df = pd.DataFrame(ast.literal_eval(d[1].strip()))
        ds.append(df)
        
for df in ds:
    df.reset_index(drop=True, inplace=True)

df = pd.concat(ds, axis= 1)

cols = df.columns

cols = [((col.split('.')[0], col)) for col in df.columns]

df.columns=pd.MultiIndex.from_tuples(cols)

print(df.T)

                   0      1      2
Name1 Name1.1  data1  data2  data3
      Name1.2  data1  data2  data3
Name2 Name2.1  data1  data2  data3
Name3 Name3.1  data1  data2  data3
      Name3.2  data1  data2  data3
      Name3.3  data1  data2  data3

【讨论】:

  • 请问我该如何解决他没有显示 name1,name2 ... 的问题??有关问题的更多details
猜你喜欢
  • 1970-01-01
  • 2012-10-27
  • 2011-07-21
  • 1970-01-01
  • 2018-10-08
  • 2021-09-11
  • 2021-07-16
  • 1970-01-01
  • 2019-11-26
相关资源
最近更新 更多