首页 > 解决方案 > 脚本无法完全运行:JSON 到 EXCEL Python 脚本

问题描述

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

我正在使用 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)

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

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

标签: pythonjsonexcelpandas

解决方案


如果没有实际数据的样本而不是输出的屏幕截图,它仍然有点难以重现,但关于更新的问题,您想要做的是转置 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


这能解决你的问题吗?关于没有索引的写作,你似乎也想要,见这里


推荐阅读