前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python读取Excel数据转化为字典并另存为josn文件

Python读取Excel数据转化为字典并另存为josn文件

作者头像
量子态的沐子呓
发布2020-03-17 10:50:52
3.4K0
发布2020-03-17 10:50:52
举报
文章被收录于专栏:YINUXYYINUXY

Python读取Excel数据转化为字典并另存为josn文件

导入Python所需要的包

代码语言:javascript
复制
import pandas as pd
import json

使用pandas读取Excel文件

  1. 样例数据采集于网上新冠肺炎中药处方,点击此按钮下载,
  2. 因为样例数据中有时间格式的文本,所以在读取Excel文件中加入了parse_dates读取日期格式的文本。
代码语言:javascript
复制
df=pd.read_excel(filepath ,parse_dates = ['发布时间'])
df.head()

读取的Excel文件格式?

代码语言:txt
复制
  .dataframe tbody tr th:only-of-type {         vertical-align: middle;     } <pre><code>.dataframe tbody tr th {     vertical-align: top; }  .dataframe thead th {     text-align: right; } </code></pre>  

发布医院/机构

省份

早中极恢复期

症状

发布时间

方剂组成

0

广东省中医药局

广东省

湿邪郁肺,枢机不利

2020-01-26

藿香10g、 厚朴10g 、法下10g、 茯苓15g、 柴胡15g、 黄芩10g、 党参10...

1

广东省中医药局

广东省

邪热入肺,肺湿宣讲

2020-01-26

炙麻黄8g、 杏仁10g、 生石膏30g、 甘草10g、 槟榔10g、 厚朴10g、 草果1...

2

广东省中医药局

广东省

热闭肺,腑气不通

2020-01-26

生麻黄 8g、杏仁12g、 生石膏30g、 生大黄10g、 瓜蒌仁30g、 桃仁 10g、赤...

3

广东省中医药局

广东省

湿热蕴毒,肺气闭塞

2020-01-26

生麻黄 8g、杏仁12g、 生石膏30g、 生甘草 10g、滑石30g、 茵陈20g、 黄芩...

4

广东省中医药局

广东省

NaN

2020-01-26

红参 10g、炮附子10g、 山萸肉30g、 麦冬20g、 三七10g

转换代码

代码语言:javascript
复制
def excelToDict(path):

    # 创建最终返回的空字典
    df_dict = {}
    # 读取Excel文件
#    df = pd.read_excel(path)

    # 替换Excel表格内的空单元格,否则在下一步处理中将会报错
    df.fillna("", inplace=True)

    df_list = []
    for i in df.index.values:
        # loc为按列名索引 iloc 为按位置索引,使用的是 [[行号], [列名]]
        df_line = df.loc[i, ['发布医院/机构', '省份', '早中极恢复期', '症状','发布时间','方剂组成']].to_dict()
        # 将每一行转换成字典后添加到列表
        df_list.append(df_line)
    df_dict['data'] = df_list
    return df_list
#     return df_dict

data = excelToDict(df)
print(data)

转换后的数据?

代码语言:javascript
复制
/*
* 提示:该行代码过长,系统自动注释不进行高亮。一键复制会移除系统注释 
* [{'发布医院/机构': '广东省中医药局', '省份': '广东省', '早中极恢复期': '早', '症状': '湿邪郁肺,枢机不利', '发布时间': Timestamp('2020-01-26 00:00:00'), '方剂组成': '藿香10g、 厚朴10g 、法下10g、 茯苓15g、 柴胡15g、 黄芩10g、 党参10g、 杏仁10g、 薏苡仁20g、 猪苓10g、 泽泻10g、 白蔻仁10g、 淡豆鼓10g、 通草 10g、生姜5g、 大枣5g'}, {'发布医院/机构': '广东省中医药局', '省份': '广东省', '早中极恢复期': '早', '症状': '邪热入肺,肺湿宣讲', '发布时间': Timestamp('2020-01-26 00:00:00'), '方剂组成': '炙麻黄8g、 杏仁10g、 生石膏30g、 甘草10g、 槟榔10g、 厚朴10g、 草果10g、 知母10g、 白芍10g、 黄芩15g'}, {'发布医院/机构': '广东省中医药局', '省份': '广东省', '早中极恢复期': '中', '症状': '热闭肺,腑气不通', '发布时间': Timestamp('2020-01-26 00:00:00'), '方剂组成': '生麻黄 8g、杏仁12g、 生石膏30g、 生大黄10g、 瓜蒌仁30g、 桃仁 10g、赤芍15g、 葶苈子20g、 黄连30g、 黄芩10g、 桑白皮10g、 重楼10g、 丹皮15g、 郁金15g、 石菖蒲15g、 生地15g、玄参15g'}, {'发布医院/机构': '广东省中医药局', '省份': '广东省', '早中极恢复期': '中', '症状': '湿热蕴毒,肺气闭塞', '发布时间': Timestamp('2020-01-26 00:00:00'), '方剂组成': '生麻黄 8g、杏仁12g、 生石膏30g、 生甘草 10g、滑石30g、 茵陈20g、 黄芩15g、 白蔻仁10g、 藿香15g、 法夏15g、 苍术15g、 葶苈子20g、 连翘15g、 白僵蚕5g、 蝉蜕5g、 姜黄10g、 生大黄5g、 重楼10g、 丹皮 15g、赤芍15g、 郁金15g、 石菖蒲15g、 生地15g、 玄参15g'}, {'发布医院/机构': '广东省中医药局', '省份': '广东省', '早中极恢复期': '极', '症状': '', '发布时间': Timestamp('2020-01-26 00:00:00'), '方剂组成': '红参 10g、炮附子10g、 山萸肉30g、 麦冬20g、 三七10g'}, {'发布医院/机构': '广东省中医药局', '省份': '广东省', '早中极恢复期': '恢复', '症状': '肺脾两虚', '发布时间': Timestamp('2020-01-26 00:00:00'), '方剂组成': '生晒参10g、 炒白术15g、 茯苓15g、 白扁豆30g、 砂仁6g、 莲子30g、 炙甘草6g、 桔梗10g、 山药15g、 薏苡仁30g、 炒麦芽30g、 神曲10g'}, {'发布医院/机构': '广东省中医药局', '省份': '广东省', '早中极恢复期': '恢复', '症状': '气阴两伤,余邪未尽', '发布时间': Timestamp('2020-01-26 00:00:00'), '方剂组成': '西洋参20g、 石斛10g、 麦冬10g、 知母10g、 淡竹叶10g、 黄连3g、 甘草6g、 茯苓15g、 法半夏10g、 橘红10g、 陈皮10g、 炒麦芽30g'}, {'发布医院/机构': '国家卫健委', '省份': '', '早中极恢复期': '早', '症状': '寒湿郁肺', '发布时间': Timestamp('2020-01-28 00:00:00'), '方剂组成': '苍术15g、陈皮10g、厚朴10g、藿香10g、草果6g、生麻黄6g、羌活10g、生姜10g、槟郎10g'}, {'发布医院/机构': '国家卫健委', '省份': '', '早中极恢复期': '中', '症状': '疫毒闭肺', '发布时间': Timestamp('2020-01-28 00:00:00'), '方剂组成': '杏仁10g、生石膏30g、瓜萎30g、生大黄6g、生炙麻黄各6g、葶苈子10g、桃仁10g、草果6g、槟郎10g、苍术10g'}, {'发布医院/机构': '国家卫健委', '省份': '', '早中极恢复期': '重', '症状': '内闭外脱', '发布时间': Timestamp('2020-01-28 00:00:00'), '方剂组成': '人参15g,黑顺片10g,山茱萸15g, 送服苏合香丸或安宫牛黄丸'}, {'发布医院/机构': '国家卫健委', '省份': '', '早中极恢复期': '恢复期', '症状': '肺脾气虚', '发布时间': Timestamp('2020-01-28 00:00:00'), '方剂组成': '法半夏9g、陈皮10g、党参15g、炙黄芪30g、茯苓15g、藿香10g、砂仁6g'}, {'发布医院/机构': '宝鸡市中医医院', '省份': '陕西省', '早中极恢复期': '预防', '症状': '', '发布时间': Timestamp('2020-01-24 00:00:00'), '方剂组成': '生黄芪 9g 炒白术 6g 防 风 3g 玄 参 6g 炙百合 30g 石 斛 10g 梨 皮 30g 桔 梗 10g 芦 根 30g 生甘草 6g'}, {'发布医院/机构': '宝鸡市中医医院', '省份': '陕西省', '早中极恢复期': '预防', '症状': '', '发布时间': Timestamp('2020-01-24 00:00:00'), '方剂组成': '太子参 15g 贯 众 6g 银 花 10g 连 翘 10g 大青叶 10g 苏 叶 6g 葛 根 10g 藿 香 10g 苍 术 6g 佩 兰 10g 沙 参 20g 芦 根 10g '}, {'发布医院/机构': '贵州省中医药管理局', '省份': '贵州省', '早中极恢复期': '预防', '症状': '', '发布时间': Timestamp('2020-01-23 00:00:00'), '方剂组成': '北沙参10g、玉竹20g、石斛20g、贯众20g、苍术10g、石菖蒲10g。'}, {'发布医院/机构': '贵州省中医药管理局', '省份': '贵州省', '早中极恢复期': '儿童预防', '症状': '', '发布时间': Timestamp('2020-01-23 00:00:00'), '方剂组成': '板蓝根20g 贯众15g 藿香10g 薄荷10g\n菊花15g 荆芥10g 葛根6g 芦根10g\n甘草6g'}, {'发布医院/机构': '上海市中医药管理局', '省份': '江苏省', '早中极恢复期': '早', '症状': '', '发布时间': Timestamp('2020-02-24 00:00:00'), '方剂组成': '麻黄9g、炙甘草6g、杏仁9g、生石膏15-30g、桂枝9g、泽泻9g、猪苓9g、白术9g、茯苓15g、柴胡16g、黄芩6g、姜半夏9g、生姜9g、紫菀9g、冬花9g、射干9g、细辛6g、山药12g、枳实6g、陈皮6g、藿香9g。'}, {'发布医院/机构': '上海市中医药管理局', '省份': '江苏省', '早中极恢复期': '早', '症状': '风热犯肺', '发布时间': Timestamp('2020-02-24 00:00:00'), '方剂组成': '金银花15g、连翘15g、防风9g、黄芩15g、牛蒡子9g、桔梗9g、芦根18g、柴胡9g、陈皮9g、生甘草6g。'}, {'发布医院/机构': '上海市中医药管理局', '省份': '江苏省', '早中极恢复期': '早', '症状': '寒湿郁肺', '发布时间': Timestamp('2020-02-24 00:00:00'), '方剂组成': '生麻黄6g、生石膏15g、杏仁9g、羌活15g、葶苈子15g、贯众9g、地龙15g、徐长卿15g、藿香15g、佩兰9g、苍术15g、云苓45g、生白术30g、焦三仙各9g、厚朴15g、槟榔9g、草果9g、生姜15g。'}, {'发布医院/机构': '上海市中医药管理局', '省份': '江苏省', '早中极恢复期': '早', '症状': '湿热蕴肺', '发布时间': Timestamp('2020-02-24 00:00:00'), '方剂组成': '槟榔10g、草果10g、厚朴10g、知母10g、黄芩10g、柴胡10g、赤芍10g、连翘15g、青蒿10g、苍术10g、大青叶10g、生甘草5g。呕恶者加黄连3g、苏叶6g。'}, {'发布医院/机构': '上海市中医药管理局', '省份': '江苏省', '早中极恢复期': '中', '症状': '湿毒郁肺', '发布时间': Timestamp('2020-02-24 00:00:00'), '方剂组成': '生麻黄6g、苦杏仁15g、生石膏30g、生薏苡仁30g、苍术10g、藿香15g、青蒿12g、虎杖20g、马鞭草30g、干芦根30g、葶苈子15g、化橘红15g、生甘草10g。呕恶者加黄连3g、苏叶6g。'}, {'发布医院/机构': '上海市中医药管理局', '省份': '江苏省', '早中极恢复期': '中', '症状': '寒湿阻肺', '发布时间': Timestamp('2020-02-24 00:00:00'), '方剂组成': '苍术15g、陈皮10g、厚朴10g、藿香10g、草果6g、生麻黄6g、羌活10g、生姜10g、槟榔10g。'}, {'发布医院/机构': '上海市中医药管理局', '省份': '江苏省', '早中极恢复期': '重', '症状': '热毒闭肺', '发布时间': Timestamp('2020-02-24 00:00:00'), '方剂组成': '生麻黄6g、杏仁9g、生石膏15g、甘草3g、藿香10g、厚朴10g、苍术15g、草果10g、法半夏9g、茯苓15g、生大黄5g、生黄芪10g、葶苈子10g、赤芍10g。'}, {'发布医院/机构': '上海市中医药管理局', '省份': '江苏省', '早中极恢复期': '重', '症状': '气营两燔', '发布时间': Timestamp('2020-02-24 00:00:00'), '方剂组成': '生石膏30-60g、知母30g、生地30-60g、水牛角30g、赤芍30g、玄参30g、连翘15g、丹皮15g、黄连6g、竹叶12g、葶苈子15g、生甘草6g。'}, {'发布医院/机构': '上海市中医药管理局', '省份': '江苏省', '早中极恢复期': '危重', '症状': '内闭外脱', '发布时间': Timestamp('2020-02-24 00:00:00'), '方剂组成': '人参15g、黑顺片10g、山茱萸15g,送服苏合香丸或安宫牛黄丸。'}, {'发布医院/机构': '上海市中医药管理局', '省份': '江苏省', '早中极恢复期': '恢复', '症状': '气阴两虚', '发布时间': Timestamp('2020-02-24 00:00:00'), '方剂组成': '南北沙参各10g、麦冬15g、西洋参6g,五味子6g、生石膏15g、淡竹叶10g、桑叶10g、芦根15g、丹参15g、生甘草6g。'}, {'发布医院/机构': '上海市中医药管理局', '省份': '江苏省', '早中极恢复期': '恢复', '症状': '肺脾气虚', '发布时间': Timestamp('2020-02-24 00:00:00'), '方剂组成': '法半夏9g、陈皮10g、党参15g、炙黄芪30g、炒白术10g、茯苓15g、藿香10g、砂仁6g、甘草6g。'}, {'发布医院/机构': '四川省中医药管理局', '省份': '四川省', '早中极恢复期': '急性期', '症状': '风热夹湿', '发布时间': Timestamp('2020-01-24 00:00:00'), '方剂组成': '银花30g连翘30g荆芥15g牛蒡子15g薄荷15g桔梗30g杏仁15g广藿香15g厚朴15g茯苓30g法半夏15g豆蔻15g薏苡仁30g白扁豆30g焦山楂30g建曲15g芦根30g'}, {'发布医院/机构': '四川省中医药管理局', '省份': '四川省', '早中极恢复期': '急性期', '症状': '风寒夹湿', '发布时间': Timestamp('2020-01-24 00:00:00'), '方剂组成': '荆芥15g防风15g川芎15g白芷15g薄荷15g桔梗30g广藿香15g紫苏叶15g厚朴15g炒白术30g法半夏15g建曲15g薏苡仁30g茯苓30g豆蔻15g杏仁15g焦山楂30g白扁豆30g芦根30g'}, {'发布医院/机构': '四川省中医药管理局', '省份': '四川省', '早中极恢复期': '急性期', '症状': '湿邪郁肺', '发布时间': Timestamp('2020-01-24 00:00:00'), '方剂组成': '蜜麻黄10g杏仁15g草果10-20g槟榔10-15g蝉蜕5-10g连翘10-30g苍术10-15g桔梗20-30g黄芩15g牛蒡子15g生甘草5-10g。'}, {'发布医院/机构': '四川省中医药管理局', '省份': '四川省', '早中极恢复期': '急性期', '症状': '湿热蕴肺', '发布时间': Timestamp('2020-01-24 00:00:00'), '方剂组成': '陈皮10-15g杏仁10-15g黄芩10-15g瓜蒌皮10-15g茯苓15-30g藿香15g厚朴10-20g青蒿20-30g芦根20-30g金银花15-30g太子参30g生甘草5-10g'}, {'发布医院/机构': '四川省中医药管理局', '省份': '四川省', '早中极恢复期': '急性期', '症状': '邪热壅肺', '发布时间': Timestamp('2020-01-24 00:00:00'), '方剂组成': '蜜麻黄10g杏仁10-15g石膏20-30g桑白皮15g金银花20-30g连翘20-30g黄芩15g浙贝母15g生甘草5-10g'}, {'发布医院/机构': '四川省中医药管理局', '省份': '四川省', '早中极恢复期': '急性期', '症状': '邪毒闭肺', '发布时间': Timestamp('2020-01-24 00:00:00'), '方剂组成': '杏仁15g生石膏20-30g瓜蒌皮15g大黄5g蜜麻黄10g葶苈子15-20g桃仁10g赤芍15g生甘草5-10g'}, {'发布医院/机构': '四川省中医药管理局', '省份': '四川省', '早中极恢复期': '急性期', '症状': '内闭外脱', '发布时间': Timestamp('2020-01-24 00:00:00'), '方剂组成': '生晒参20-30g,炙附片30-60g,山茱萸15-20g,送服安宫牛黄丸或紫雪散'}, {'发布医院/机构': '四川省中医药管理局', '省份': '四川省', '早中极恢复期': '恢复期', '症状': '余邪未尽、气阴两虚', '发布时间': Timestamp('2020-01-24 00:00:00'), '方剂组成': '竹叶15g石膏15-20g太子参20-30g麦冬10-15g半夏10g白术15-20g茯苓15-20g炙甘草5-10g'}, {'发布医院/机构': '江西中医药管理局', '省份': '江西省', '早中极恢复期': '预防', '症状': '', '发布时间': Timestamp('2020-02-03 00:00:00'), '方剂组成': '生黄芪12g、防风\n\n10g、白术10g、银花10g、连翘10g、贯众6g、佩兰10g、陈皮10g、苍术10g、桔梗10g。'}, {'发布医院/机构': '江西中医药管理局', '省份': '江西省', '早中极恢复期': '早', '症状': '寒湿郁肺', '发布时间': Timestamp('2020-02-03 00:00:00'), '方剂组成': '苍术15g、陈皮10g、厚朴10g、藿香10g、草果6g、生麻黄6g、羌活10g、生姜10g、槟郎10g'}, {'发布医院/机构': '江西中医药管理局', '省份': '江西省', '早中极恢复期': '中', '症状': '疫毒闭肺', '发布时间': Timestamp('2020-02-03 00:00:00'), '方剂组成': '杏仁10g、生石膏30g、瓜萎30g、生大黄6g、生炙麻黄各6g、葶苈子10g、桃仁10g、草果6g、槟郎10g、苍术10g'}, {'发布医院/机构': '江西中医药管理局', '省份': '江西省', '早中极恢复期': '重', '症状': '内闭外脱', '发布时间': Timestamp('2020-02-03 00:00:00'), '方剂组成': '人参15g、黑顺片10g、山茱萸15g,送服苏合香丸或安宫牛黄丸'}, {'发布医院/机构': '江西中医药管理局', '省份': '江西省', '早中极恢复期': '恢复', '症状': '肺脾气虚', '发布时间': Timestamp('2020-02-03 00:00:00'), '方剂组成': '法半夏9g、陈皮10g、党参15g、炙黄芪30g、茯苓15g、藿香10g、砂仁6g'}, {'发布医院/机构': '黑龙江省中医药管理局', '省份': '黑龙江省', '早中极恢复期': '早', '症状': '寒湿郁肺', '发布时间': Timestamp('2020-02-26 00:00:00'), '方剂组成': '藿香15g、苏叶15g、桔梗15g、枳壳15g、生麻黄6g、杏仁10g、陈皮15g、茯苓20g、白术15g、佩兰15g、苍术15g、厚朴15g、半夏15g、草果仁15g、白芷15g、黄芩10g、大青叶15g、葛根15g、甘草15g。'}, {'发布医院/机构': '黑龙江省中医药管理局', '省份': '黑龙江省', '早中极恢复期': '中', '症状': '疫毒闭肺', '发布时间': Timestamp('2020-02-26 00:00:00'), '方剂组成': '水牛角20g、生地15g、丹参25g、玄参20g、金银花30g、连翘20g、桔梗20g、枳壳20g、川芎15g、赤芍25g、地龙20g、桃仁15g、太子参25g、炒白术20g、茯苓25g、生麻黄10g、白果20g、葶苈子20g、黄芩15g、杏仁10g、紫苏子20g、瓜蒌20g、浙贝母15g、生薏米20g、甘草15g。'}, {'发布医院/机构': '黑龙江省中医药管理局', '省份': '黑龙江省', '早中极恢复期': '重', '症状': '内闭外脱', '发布时间': Timestamp('2020-02-26 00:00:00'), '方剂组成': '人参15g、干姜10g、附子10g、甘草10g,煎汤送服紫雪丹或至宝丹、安宫牛黄丸、苏合香丸酌情选用。'}, {'发布医院/机构': '黑龙江省中医药管理局', '省份': '黑龙江省', '早中极恢复期': '恢复期', '症状': '余邪未尽,气阴两伤', '发布时间': Timestamp('2020-02-26 00:00:00'), '方剂组成': '竹叶15g、石膏20g、太子参15g、麦冬20g、半夏10g、枇杷叶15g、玉竹15g、玄参15g、杏仁10g、陈皮15g、甘草10g。'}]
*/

保存为json文件格式

代码语言:javascript
复制
print(filepath + '共有%d' % (len(data)) + '行数据')
for i in data:
    i['发布时间'] = i['发布时间'].strftime("%Y %b %d %H:%M:%S")
for i in range(len(data)):
    filename = filepath+'outfile/' + str(i+1)+'.json'
    with open(filename, 'w', encoding='utf-8') as  f:
        json.dump(data[i], f, ensure_ascii=False, indent=4)  # ensure_ascii=False(输出中文), indent=4(缩进为4)

博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 如需转载请注明出处@Copyright © 2019-2020 YINUXY 本文永久链接是:https://cloud.tencent.com/developer/article/1599369

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020年3月13日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 导入Python所需要的包
  • 使用pandas读取Excel文件
  • 转换代码
  • 保存为json文件格式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档