【问题标题】:Script not working fully: JSON to EXCEL Python script脚本无法完全运行:JSON 到 EXCEL Python 脚本
【发布时间】:2020-08-12 17:15:09
【问题描述】:

我一直在环顾四周,但似乎找不到可靠的答案。

我正在使用 Python3,我希望设计一个 JSON 到 EXcel(不是 CSV)的转换器。我希望这会相对容易,但它似乎确实给我带来了问题。它会稍微转换数据,但我需要将数据转置(行到列)并从生成的 excel 中删除系统生成的哈希键。

到目前为止,这是我的代码:

import sys
import pandas as pd

try:
      fileInput = sys.argv[1]
      fileOutput = sys.argv[2]

except:
      print ("\nusage: json-to-excel.py <inputfile.json> <outputfil.xlsx>")
      print ("Note:  Uses the openpyxl library\n")
      sys.exit(1)

pd.read_json(fileInput).to_excel(fileOutput)

更新:脚本正在运行,但数据格式错误。

以下是我的意思。棕色区域是数据输出,但我希望将其格式化为绿色(转置数据并删除哈希键)。

【问题讨论】:

  • 看看你的输入和输出数据集是什么来重现你的问题会很有帮助。你能提供例子吗?
  • 嗨马克西米利安。我已经更新了我原来的帖子。有什么想法吗?

标签: python json excel pandas


【解决方案1】:

如果没有实际数据的样本而不是输出的屏幕截图,它仍然有点难以重现,但是关于更新的问题,您想要做的是transpose a pandas DataFrame

>>> import pandas as pd
# just a TSV i had lying around
>>> test = pd.read_csv("~/Downloads/test.tsv", sep="\t")
>>> test
                 BAM  abc_test.bam
0          num_reads       107.000
1          zero_pairs      0.355
2          10k_pairs       0.009
3          different_ctg   0.047
4          split           0.028
5          duplicate       0.009
>>> test.transpose()
                      0           1          2              3      4          5
BAM           num_reads  zero_pairs  10k_pairs  different_ctg  split  duplicate
abc_test.bam        107       0.355      0.009          0.047  0.028      0.009

# if you need to reorder the columns:
>>> test.transpose().loc[:, [5,4,3,2,1,0]]
                      5      4              3          2           1          0
BAM           duplicate  split  different_ctg  10k_pairs  zero_pairs  num_reads
abc_test.bam      0.009  0.028          0.047      0.009       0.355        107


这能解决您的问题吗?关于没有索引的写作,您似乎也想要,请参阅here

【讨论】:

    猜你喜欢
    • 2015-08-16
    • 2017-12-05
    • 2019-01-19
    • 2022-06-16
    • 2015-11-30
    • 1970-01-01
    • 2011-06-25
    • 2012-11-15
    • 1970-01-01
    相关资源
    最近更新 更多