小白教程

 找回密码
 立即注册
查看: 5734|回复: 1

[已解决]初学者文本格式单行到列

[复制链接]

1

主题

5

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2021-5-21 03:55:38 | 显示全部楼层 |阅读模式
我有一个.txt文件,其中包含一个很长的字符串,我需要重新排列,使其可读于不同的
程序。下面是一个简化得多的例子:

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

5":[dataz]]所需的格式
#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字典。
保存到文本文件是不应该做的事情,因为它破坏了数据结构。
可以用例如的方式回来再见,但那是错误的方式。因此,在这里一些修复,使工作,然后可以把它变成更容易得到格式想要的
  1. # Some fix to so it work as a dictionary
  2. >>> d = {"header1":['data1'], "header2":['dataA', 'dataB', 'dataC'], "header3":['dataX', 'dataY', 'dataZ'], "header4":[[0, 1, 2]], "header5":['dataz']}
  3. >>> d
  4. {'header1': ['data1'],
  5. 'header2': ['dataA', 'dataB', 'dataC'],
  6. 'header3': ['dataX', 'dataY', 'dataZ'],
  7. 'header4': [[0, 1, 2]],
  8. 'header5': ['dataz']}

  9. >>> import pandas as pd
  10. >>>
  11. # Load into Pandas,orient change so it fill(None) for missing values
  12. >>> df = pd.DataFrame.from_dict(d, orient='index')
  13. >>> df
  14.                  0      1      2
  15. header1      data1   None   None
  16. header2      dataA  dataB  dataC
  17. header3      dataX  dataY  dataZ
  18. header4  [0, 1, 2]   None   None
  19. header5      dataz   None   None
  20. >>>
  21. # Transpose index to columns
  22. >>> df.transpose()
  23.   header1 header2 header3    header4 header5
  24. 0   data1   dataA   dataX  [0, 1, 2]   dataz
  25. 1    None   dataB   dataY       None    None
  26. 2    None   dataC   dataZ       None    None
复制代码

回复

使用道具 举报

0

主题

2

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2021-5-21 03:56:08 | 显示全部楼层 &
ibreden的数据是JSON或已经可以转换为Python字典。
保存到文本文件是不应该做的事情,因为它破坏了数据结构。
可以用例如的方式回来再见,但那是错误的方式。因此,在这里一些修复,使工作,然后可以把它变成更容易得到格式想要的
  1. # Some fix to so it work as a dictionary
  2. >>> d = {"header1":['data1'], "header2":['dataA', 'dataB', 'dataC'], "header3":['dataX', 'dataY', 'dataZ'], "header4":[[0, 1, 2]], "header5":['dataz']}
  3. >>> d
  4. {'header1': ['data1'],
  5. 'header2': ['dataA', 'dataB', 'dataC'],
  6. 'header3': ['dataX', 'dataY', 'dataZ'],
  7. 'header4': [[0, 1, 2]],
  8. 'header5': ['dataz']}

  9. >>> import pandas as pd
  10. >>>
  11. # Load into Pandas,orient change so it fill(None) for missing values
  12. >>> df = pd.DataFrame.from_dict(d, orient='index')
  13. >>> df
  14.                  0      1      2
  15. header1      data1   None   None
  16. header2      dataA  dataB  dataC
  17. header3      dataX  dataY  dataZ
  18. header4  [0, 1, 2]   None   None
  19. header5      dataz   None   None
  20. >>>
  21. # Transpose index to columns
  22. >>> df.transpose()
  23.   header1 header2 header3    header4 header5
  24. 0   data1   dataA   dataX  [0, 1, 2]   dataz
  25. 1    None   dataB   dataY       None    None
  26. 2    None   dataC   dataZ       None    None
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|小白教程 ( 粤ICP备20019910号 )

GMT+8, 2024-9-20 14:27 , Processed in 0.039009 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表