情參似塰 发表于 2021-5-21 03:55:38

初学者文本格式单行到列

我有一个.txt文件,其中包含一个很长的字符串,我需要重新排列,使其可读于不同的
程序。下面是一个简化得多的例子:

原始数据文件全部在一个字符串中。
["标题1":[数据1],"头2"[数据A,数据B,数据C],"标题3":[数据X,数据Y,数据Z], "标题4":,"标题

5":]所需的格式
#header1=
数据1#header5=数据z#data
表=头=头5,头2,头3

0数据A数据X

1数据B数据
2数据C数据Z

可恶咯 发表于 2021-5-21 03:56:08

ibreden的数据是JSON或已经可以转换为Python字典。
保存到文本文件是不应该做的事情,因为它破坏了数据结构。
可以用例如的方式回来再见,但那是错误的方式。因此,在这里一些修复,使工作,然后可以把它变成更容易得到格式想要的# Some fix to so it work as a dictionary
>>> d = {"header1":['data1'], "header2":['dataA', 'dataB', 'dataC'], "header3":['dataX', 'dataY', 'dataZ'], "header4":[], "header5":['dataz']}
>>> d
{'header1': ['data1'],
'header2': ['dataA', 'dataB', 'dataC'],
'header3': ['dataX', 'dataY', 'dataZ'],
'header4': [],
'header5': ['dataz']}

>>> import pandas as pd
>>>
# Load into Pandas,orient change so it fill(None) for missing values
>>> df = pd.DataFrame.from_dict(d, orient='index')
>>> df
               0      1      2
header1      data1   None   None
header2      dataAdataBdataC
header3      dataXdataYdataZ
header4   None   None
header5      dataz   None   None
>>>
# Transpose index to columns
>>> df.transpose()
header1 header2 header3    header4 header5
0   data1   dataA   dataX   dataz
1    None   dataB   dataY       None    None
2    None   dataC   dataZ       None    None
页: [1]
查看完整版本: 初学者文本格式单行到列