我有一个JSON输出,我试图在excel中使用.

我想做的是将“重量”匹配为“列标题”.

我可以使用一些循环获得此输出.

我想要得到的是将所有权重作为第一列标题,如果它具有值,则将其粘贴到其他NaN中.

所需输出:

page = requests.get(mainurl)

data = json.loads(page.text)

for i in data['categories']:

for j in i['items']:

if a == 1: # so changes and appends keys per category (highlighted)

a=2 # so not true in this loop

s=tuple(j['prices'].keys())

ws.append(s)

PVAL=list(j['prices'].values())

ws.append(PVAL)# append the value

a=1 # makes true next category

p= []

for i in price: # I know this is absolute madness but dicts were getting sorted

i = str(i).replace("'",'').replace('{','').replace('}','')# get price values

p.append(i)

###apppend in excel

注意:通过以上代码可以看出,我是一个完整的初学者.上面的代码使用2-3行熊猫可能会很漂亮:(

我现在正在与Pandas进行修补,因为我认为它将更快更好.

主要编辑:

所以我没有很多时间,所以我这样做了:

for i in data['categories']:

for j in i['items']:

PVAL=j['prices']

try:

ounce = PVAL['ounce']

except:

ounce = 'NaN'

try:

gram = PVAL['gram']

except:gram = 'NaN'

try:

twograms = PVAL['two_grams']

except:twograms='NaN'

try:

quarter=PVAL['quarter']

except:quarter='NaN'

try:

eighth=PVAL['eighth']

except:eighth='NaN'

try:

halfO=PVAL['half_ounce']

except:halfO='NaN'

try:

unit = PVAL['unit']

except:unit='NaN'

try:

halfgram = PVAL['half_gram']

except:halfgram='NaN'

name= j['name']

cat = j['category_name']

listname = j['listing_name']

namel.append(name)

catl.append(cat)

listnamel.append(listname)

halfOl.append(halfO)

halfgraml.append(halfgram)

unitl.append(unit)

eighthl.append(eighth)

twogramsl.append(twograms)

quarterl.append(quarter)

ouncel.append(ounce)

graml.append(gram)

然后将这些列表添加到Excel中.

我知道这不是Pythonic,但我仍在尝试在Pandas中找到一种好的方法.

解决方法:

由于我的代表仍然很低,尚不能发表任何评论,因此将其张贴在此处,如果提供进一步的说明,将对其进行编辑.

我没有在所需的输出中看到任何重量.如果我正确理解json文件,则您在给定重量单位的情况下迭代价格.是在每个项目上循环并在每个重量单位的价格上迭代的预期输出.如果没有重量单位,请输入NaN.有可能的重量单位清单吗?

熊猫还具有read_json函数,因此可以将其直接加载到熊猫数据帧.

-编辑-

对于延迟,我们深表歉意.请看下面的答案

import pandas as pd

import json

from cytoolz.dicttoolz import merge

#replace below with your json loader

with open('sample.json') as json_dta:

dict_dta = json.load(json_dta)

list_columns = ['id', 'name', 'category_name', 'ounce', 'gram', 'two_grams', 'quarter', 'eighth','half_ounce','unit','half_gram']

df = pd.io.json.json_normalize(dict_dta, ['categories', ['items']]).pipe(lambda x: x.drop('prices', 1).join(x.prices.apply(lambda y: pd.Series(merge(y)))))[list_columns]

以上将导致:

id name category_name ounce gram two_grams quarter eighth half_ounce unit half_gram

0 10501503 Recon Indica 99.0 9.0 0.0 40.0 25.0 70.0 NaN NaN

1 11614583 Kush Dawg Indica 99.0 9.0 0.0 40.0 25.0 70.0 NaN NaN

2 8602219 OG Kush Indica 99.0 9.0 0.0 40.0 25.0 70.0 NaN NaN

3 11448858 Poison OG Outdoor Sativa 69.0 9.0 0.0 40.0 25.0 50.0 NaN NaN

4 11731126 SunBurn 2.0 Outdoor Sativa 69.0 0.0 0.0 0.0 0.0 0.0 NaN NaN

5 6412418 Poison OG Sativa 99.0 9.0 18.0 40.0 25.0 70.0 NaN NaN

6 8982466 Sativa Trim Sativa 30.0 0.0 0.0 0.0 0.0 15.0 NaN NaN

7 11545434 Chupacabra Outdoor Hybrid 69.0 9.0 0.0 40.0 25.0 50.0 NaN NaN

8 11458944 Platinum Girl Scout Cookies Outdoor Hybrid 69.0 9.0 0.0 40.0 25.0 50.0 NaN NaN

9 11296163 Bubblegum Hybrid 99.0 9.0 0.0 40.0 25.0 70.0 NaN NaN

10 11614623 C4 Hybrid 99.0 9.0 0.0 40.0 25.0 70.0 NaN NaN

11 11333124 Chem Dawg Outdoor Hybrid 69.0 9.0 0.0 40.0 25.0 50.0 NaN NaN

12 11458988 Candy Kush Hybrid 99.0 9.0 0.0 40.0 25.0 70.0 NaN NaN

13 10501592 Candy Kush Outdoor Hybrid 69.0 9.0 0.0 40.0 25.0 50.0 NaN NaN

14 9123804 ZOOTROCKS LemonGrass Edible NaN NaN NaN NaN NaN NaN 20.0 NaN

15 9412336 Cherry Limeade 100mg Edible NaN NaN NaN NaN NaN NaN 20.0 NaN

16 4970503 Peanut Budda Buddha, 100mg REC Edible NaN NaN NaN NaN NaN NaN 20.0 NaN

17 9412238 Golden Strawberry Puck 100mg REC - CO Edible NaN NaN NaN NaN NaN NaN 20.0 NaN

18 9412232 Cherry Puck 100mg REC - CO Edible NaN NaN NaN NaN NaN NaN 20.0 NaN

19 9412228 Assorted Sour Pucks 100mg REC - CO Edible NaN NaN NaN NaN NaN NaN 20.0 NaN

20 6454686 Assorted Fruity Pucks 100mg REC - CO Edible NaN NaN NaN NaN NaN NaN 20.0 NaN

21 9412295 Sour Gummies Sativa 100mg, Recreational Edible NaN NaN NaN NaN NaN NaN 20.0 NaN

22 7494303 Cheeba Chews Edible NaN NaN NaN NaN NaN NaN 20.0 NaN

23 9411974 Mile High Mint, 100mg REC Edible NaN NaN NaN NaN NaN NaN 20.0 NaN

24 9411972 Boulder Bar, 100mg Edible NaN NaN NaN NaN NaN NaN 20.0 NaN

25 9412286 Sour Gummies Indica 100mg, Recreational Edible NaN NaN NaN NaN NaN NaN 20.0 NaN

26 9412242 Watermelon Puck 100mg - REC Edible NaN NaN NaN NaN NaN NaN 20.0 NaN

27 10066310 Coffee & Doughnuts Edible NaN NaN NaN NaN NaN NaN 20.0 NaN

28 10065124 Wildflower Honey Edible NaN NaN NaN NaN NaN NaN 24.0 NaN

29 10064962 Clover Honey Edible NaN NaN NaN NaN NaN NaN 24.0 NaN

30 9412290 Sour Gummies Peach 100mg, Recreational Edible NaN NaN NaN NaN NaN NaN 20.0 NaN

31 5926966 Stratos 100mg Edible NaN NaN NaN NaN NaN NaN 20.0 NaN

32 10066271 Salt & Nibs Edible NaN NaN NaN NaN NaN NaN 20.0 NaN

33 10065225 Yampa Valley Honey Edible NaN NaN NaN NaN NaN NaN 24.0 NaN

34 9412873 Fruit Punch Mints 100mg Edible NaN NaN NaN NaN NaN NaN 20.0 NaN

35 9412251 Sour Gummies Hybrid 100mg, Recreational Edible NaN NaN NaN NaN NaN NaN 20.0 NaN

36 9412922 Dutch Girl Carmel Waffle, 100mg Edible NaN NaN NaN NaN NaN NaN 20.0 NaN

37 6790292 Hybrid Distillate Jar Concentrate NaN 36.0 0.0 NaN NaN NaN NaN 0.0

38 6379060 Hybrid Cartridge Concentrate NaN 25.0 0.0 NaN NaN NaN NaN 18.0

39 9009149 Pure Cannabis Oil Hybrid Concentrate NaN 25.0 0.0 NaN NaN NaN NaN 0.0

40 9400145 Pure Cannabis Oil Sativa Concentrate NaN 25.0 0.0 NaN NaN NaN NaN 0.0

41 9409961 Sativa Cartridge Concentrate NaN 25.0 0.0 NaN NaN NaN NaN 18.0

42 9400121 Pure Cannabis Oil Indica Concentrate NaN 25.0 0.0 NaN NaN NaN NaN 0.0

43 9409954 Indica Cartridge Concentrate NaN 25.0 0.0 NaN NaN NaN NaN 18.0

44 9400467 Indica Distillate Jar Concentrate NaN 36.0 0.0 NaN NaN NaN NaN 0.0

45 9691836 PWO Wax by Mahatma Concentrate NaN 25.0 0.0 NaN NaN NaN NaN 0.0

46 9409970 Sativa Distillate Jar Concentrate NaN 36.0 0.0 NaN NaN NaN NaN 0.0

47 6134675 Bongs Gear NaN NaN NaN NaN NaN NaN 40.0 NaN

48 5993354 Small Glass Pipes Gear NaN NaN NaN NaN NaN NaN 10.0 NaN

49 4393434 Large Glass Pipes Gear NaN NaN NaN NaN NaN NaN 20.0 NaN

50 5941409 Pain Relief Salve, 2oz Topicals NaN NaN NaN NaN NaN NaN 26.0 NaN

51 8768835 THC Pain Stick Topicals NaN NaN NaN NaN NaN NaN 20.0 NaN

52 6370279 FORIA Pleasure (30ml) Spray Bottle Topicals NaN NaN NaN NaN NaN NaN 55.0 NaN

53 8911546 Bath Soak Topicals NaN NaN NaN NaN NaN NaN 20.0 NaN

54 9123854 FORIA Relief (2-pack) Suppositories Topicals NaN NaN NaN NaN NaN NaN 24.0 NaN

55 4187102 1 Gram Strain Specific-Prerolls Preroll NaN NaN NaN NaN NaN NaN 9.0 NaN

标签:pandas,dictionary,python,excel

来源: https://codeday.me/bug/20191110/2014029.html

python整行列匹配,python-熊猫将行与列值匹配相关推荐

  1. Python读写Excel数据(指定某行某列)

    Python读写Excel数据(指定某行某列) 在Python数据处理中,经常需要对Excel表格进行读写操作,本文的代码介绍了如何通过行与列的下标进行数据的读写:代码对数据格式有要求,读数据要求文件 ...

  2. Python让Excel飞起来—批量处理行、列和单元格

    目录 案例01 精确调整多个工作簿的行高和列宽 举一反三 精确调整一个工作簿中所有工作表的行高和列宽 案例02 批量更改多个工作簿的数据格式 举一反三 批量更改多个工作簿的外观格式 案例03 批量替换 ...

  3. Python(4)print一个10行10列的星星图案

    a.输出一行10个星星 i = 0 while i < 10:print('☆',end = '')i += 1 b.输出10行10列星星 #生成10行 j = 0 while j < 1 ...

  4. oracle sqlcode 多条,SQL查询以连接Oracle中多个行的列值

    是否有可能构造SQL来连接列值 多行? 以下是一个示例: 表A PID A B C 表B PID   SEQ    DESC A     1      Have A     2      a nice ...

  5. python将输出结果写入excel多行多列_Python处理Excel之多列转多行

    前几天,因为一些缘故,需要处理一个包含大量数据的Excel表格.要求具体是将如下表格中的"一""二"列变为"开始"列,"三&quo ...

  6. python中的max_row_基于row max定位条件列值

    这是一个更大的df_data1000x150的简单版本Date A B C D A' B' C' D' 31/01/2017 47 15 45 40 10 7 12 8 28/02/2017 22 3 ...

  7. python二维数组排序_Python实现二维数组按照某行或列排序的方法【numpy lexsort】...

    本文实例讲述了Python实现二维数组按照某行或列排序的方法.分享给大家供大家参考,具体如下: lexsort支持对数组按指定行或列的顺序排序:是间接排序,lexsort不修改原数组,返回索引. (对 ...

  8. python二维数组按照第一列排序_Python中二维数组按照某行或列排序的实现方法

    这篇文章主要介绍了Python实现二维数组按照某行或列排序的方法,结合具体实例形式分析了Python使用numpy模块的lexsort方法针对二维数组进行排序的常用操作技巧,需要的朋友可以参考下 本文 ...

  9. 【python】二维数组按照某行或某列排序(numpy lexsort)

    这里介绍的排序方法主要是针对最后一行和最后一列,如果要指定某一行目前没有很好的方法,有个笨办法可以先把排序的该列(或行)换到最后,排序后再换回来 曾经以为排序只能使用list的sort函数,后来发现a ...

  10. python怎么读程序-python 怎么念

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 注意: 您目前查阅的是历史版本 sdk 文档,已不再更新和维护,我们建议您查阅新版 ...

最新文章

  1. cakephp中使用大括号的形式避免用点号连接sql语句
  2. mysql数据库搜索字符_在MySQL数据库中快速搜索字符串?
  3. html页面设置不可点击事件,css怎么设置div不可点击?
  4. C#获取当前应用程序所在路径及环境变量
  5. 做好嘈杂环境的语音识别,目前难点主要在哪里?
  6. PAIP.自定义SELECT BOX COMMBO BOX展现.txt
  7. 图解设计模式:行为型模式之观察者模式
  8. 被黑心商家坑了N次,探究抽奖背后的秘密 —— H5转盘小游戏完整实现(源码直接拿走)
  9. B站 汇编语言 视频 教程
  10. dedecms 使用php语法,DedeCms(织梦)模版制作教程及标记语法详解
  11. 联想主板9针开关接线图_空气开关、断路器、漏电保护,汇总学习一下
  12. MUI 的侧滑菜单 详解
  13. libVLC库推流,sout参数如何设置
  14. inurl_搜索引擎命令site,intitle,inurl,分别代表什么意思
  15. 已有Microsoft365许可证,但是office无法激活
  16. 基于S3C2410和UDAl34l的嵌进式音频系统设计
  17. 抠图应用程序设计(二)——磁性套索工具Livewire算法的实现
  18. java开发程序员培训班,成功跳槽阿里!
  19. Switch-case结构
  20. 2018全新升级旗舰版vbox硬件级虚拟机系统 vm去虚拟化修改信息工具 批量启动克隆 virtualbox

热门文章

  1. Java中9种常见的CMS GC问题分析与解决
  2. UMLChina公众号文章精选(20220619更新精选)
  3. 删库跑路 php,程序员删库跑路事件,php中文网的几点声明!
  4. 二进制 计算机编程语言分类
  5. 怎么给视频打马赛克?视频剪辑时快速添加马赛克的方法
  6. android音乐16bit,16bit音乐是无损吗
  7. 基于c语言实现的TCP连网斗地主程序(一)
  8. 基于hi3531压缩YUV-D1 H264(sample_enc例子改写)
  9. 【技巧】pytorch tif转成jpg
  10. 怎样在线生成ICO 图标?图片怎么转ICO图标?