吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1163|回复: 4
收起左侧

[求助] Python获取东方财富网股票列名用json导入时候出错,请问如何解决

[复制链接]
lengkeyu 发表于 2021-11-15 15:26
如题:
获取的列名数据如下:
              {  title: "序号",
                type: "seq",    // type 表示特殊类型
                show: true,
                name: 'number'

            },
            {
                title: "代码",
                key: "f12",
                order: true,
                href: "<a href='//quote.eastmoney.com/unify/r/{{0}}.{{1}}'></a>",
                data: ["f13","f12"],
                show: true,
                name: 'Code'
            },
            {
                title: "名称",
                key: "f14",
                order: true,
                href: "<a href='//quote.eastmoney.com/unify/r/{{0}}.{{1}}'></a>",
                data: ["f13","f12"],
                show: true,
                name: 'Name'
            },
            {
                title: "相关链接",
                key: "",
                order: false,
                href: "<a href='//quote.eastmoney.com/unify/r/{{0}}.{{1}}'></a>",
                data: ["f13","f12"],
                show: true,
                name: 'Links'
            },
            {
                title: "最新价",
                key: "f2",
                fixedkey: 'f1',
                newcb: function(value, fixednum){
                    return tools.formatNumberFlag(value, fixednum);
                },
                color: "_f18",
                order: true,
                show: true,
                name: 'Close'
            },
            {
                title: "涨跌幅",
                key: "f3",
                fixedkey: 'f152',
                newcb: function(value, fixednum){
                    return tools.formatNumberIndexZdf(value, fixednum);
                },
                color: "f3",
                order: true,
                show: true,
                name: 'ChangePercent'
            },
            {
                title: "涨跌额",
                key: "f4",
                fixedkey: 'f1',
                color: "f4",
                order: true,
                show: true,
                name: 'Change',
                newcb: function(value, fixednum){
                    return tools.formatNumberFlag(value, fixednum);
                }
            },
            {
                title: "成交量(手)",
                key: "f5",
                order: true,
                cb: function(that, row){
                    return tools.formatNumber(that);
                },
                show: true,
                name: 'Volume'
            },
            {
                title: "成交额",
                key: "f6",
                order: true,
                cb: function(that, row){
                    return tools.formatNumber(that);
                },
                show: true,
                name: 'Amount'
            },
            {
                title: "振幅",
                key: "f7",
                order: true,
                cb: function(that, row){
                    return tools.formatNumber2(that);
                },
                show: true,
                name: 'Amplitude'
            },
            {
                title: "最高",
                key: "f15",
                fixedkey: 'f1',
                color: "_f18",
                order: true,
                // cb: function(that, row){
                //     return tools.formatNumber4(that);
                // },
                newcb: function(value, fixednum){
                    return tools.formatNumberFlag(value, fixednum);
                },
                show: true,
                name: 'Hign'
            },
            {
                title: "最低",
                key: "f16",
                fixedkey: 'f1',
                color: "_f18",
                order: true,
                newcb: function(value, fixednum){
                    return tools.formatNumberFlag(value, fixednum);
                },
                show: true,
                name: 'Low'
            },
            {
                title: "今开",
                key: "f17",
                fixedkey: 'f1',
                color: "_f18",
                order: true,
                newcb: function(value, fixednum){
                    return tools.formatNumberFlag(value, fixednum);
                },
                show: true,
                name: 'Open'
            },
            {
                title: "昨收",
                key: "f18",
                fixedkey: 'f1',
                order: true,
                newcb: function(value, fixednum){
                    return tools.formatNumberFlag(value, fixednum);
                },
                show: true,
                name: 'PreviousClose'
            },
            {
                title: "量比",
                key: "f10",
                order: true,
                cb: function(that, row){
                    return tools.formatNumberHSGGLB(that);
                },
                show: true,
                name: 'VolumeRate'
            },
            {
                title: "换手率",
                key: "f8",
                order: true,
                cb: function(that, row){
                    return tools.formatNumber2(that);
                },
                show: true,
                name: 'TurnoverRate'
            },
            {
                title: "市盈率(动态)",
                key: "f9",
                order: true,
                show: true,
                cb: function(that, row){
                    return tools.formatNumberSyl(that);
                },
                name: 'PERation'
            },
            {
                title: "市净率",
                key: "f23",
                order: true,
                show: true,
                cb: function(that, row){
                    return tools.formatNumberSyl(that);
                },
                name: 'PB'
            },
            {
                title: "总市值",
                key: "f20",
                order: true,
                cb: function(that, row){
                    return tools.formatNumber(that);
                },
                show: false
            },
            {
                title: "流通市值",
                key: "f21",
                order: true,
                cb: function(that, row){
                    return tools.formatNumber(that);
                },
                show: false
            },
            {
                title: "60日涨跌幅",
                key: "f24",
                order: true,
                // suffix: "%",
                fixedkey: 'f152',
                newcb: function(value, fixednum){
                    return tools.formatNumberIndexZdf(value, fixednum);
                },
                color: "f24",
                show: false
            },
            {
                title: "年初至今涨跌幅",
                key: "f25",
                // suffix: "%",
                fixedkey: 'f152',
                newcb: function(value, fixednum){
                    return tools.formatNumberIndexZdf(value, fixednum);
                },
                color: "f25",
                order: true,
                show: false
            },
            {
                title: "涨速",
                key: "f22",
                // suffix: "%",
                color: "f22",
                order: true,
                fixedkey: 'f152',
                newcb: function(value, fixednum){
                    return tools.formatNumberIndexZdf(value, fixednum);
                },
                show: false
            },
            {
                title: "5分钟涨跌",
                key: "f11",
                color: "f11",
                order: true,
                fixedkey: 'f152',
                newcb: function(value, fixednum){
                    return tools.formatNumberIndexZdf(value, fixednum);
                },
                show: false
            },
            {
                title: "加自选",
                key: "addzixuan",
                order: true,
                href: "<a href='//quote.eastmoney.com/unify/r/{{0}}.{{1}}'></a>",
                data: ["f13","f12"],
                show: true,
                name: 'Links'
            }

提示json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes:
搜索网上的资料,说是'"'的问题,但是像title等都没有加引号,如何处理?谢谢!

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

geyee 发表于 2021-11-16 22:36
可以逐个替换
columns_data=columns_data.replace('title:','\"title\":')
columns_data=columns_data.replace('key:','\"key\":')
columns_data=columns_data.replace('fixedkey:','\"fixedkey\":')
columns_data=columns_data.replace('color:','\"color\":')
columns_data=columns_data.replace('order:','\"order\":')
columns_data=columns_data.replace('href:','\"href\":')
columns_data=columns_data.replace('data:','\"data\":')
columns_data=columns_data.replace('show:','\"show\":')
columns_data=columns_data.replace('name:','\"name\":')
columns_data=columns_data.replace('cb:','\"cb\":')
columns_data=columns_data.replace('newcb:','\"newcb\":')

或者利用正则表达式
import re
columns_data=re.sub("(\w+):",r'"\1":',columns_data)
或者安装demjson,hjson包,参见https://stackoverflow.com/questions/1931454/how-to-parse-somewhat-wrong-json-with-python
 楼主| lengkeyu 发表于 2021-11-17 09:10
afei26579 发表于 2021-11-18 11:14
转为json字符串 例如 json={title: "test"}
json_str = {"title": "test"}
 楼主| lengkeyu 发表于 2021-11-18 20:47
效果不好,格式转换好麻烦。json.load()提示“//注释”的地方出错。。。不默认忽略,这个有好办法吗?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 20:41

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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