V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
LeCent
V2EX  ›  Python

怎么将 csv 文件转化为下图的 json ?

  •  2
     
  •   LeCent · 2018-06-21 22:33:00 +08:00 · 4637 次点击
    这是一个创建于 2377 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Snipaste_2018-06-21_22-22-02.png

    17 条回复    2018-06-22 10:50:59 +08:00
    glacer
        1
    glacer  
       2018-06-21 23:25:31 +08:00
    自己写规则转
    LeCent
        2
    LeCent  
    OP
       2018-06-21 23:27:53 +08:00
    @glacer : )
    IceCola1
        3
    IceCola1  
       2018-06-22 00:08:08 +08:00
    哈哈哈,面试题,我有源代码,当时写了很久
    IceCola1
        4
    IceCola1  
       2018-06-22 00:08:30 +08:00
    要不要老哥帮帮你?
    LeCent
        5
    LeCent  
    OP
       2018-06-22 00:17:01 +08:00
    @IceCola1 要的要的
    lizon
        7
    lizon  
       2018-06-22 03:07:07 +08:00
    一开始用 golang 写,发现太蛋疼了,这种灵活的格式还是动态语言方便
    https://trinket.io/python/3b6f1679d2
    你也可以选择不补数据,在转换的期间再搜索缺失的 key 值
    lizon
        8
    lizon  
       2018-06-22 03:24:34 +08:00
    lizon
        9
    lizon  
       2018-06-22 03:48:00 +08:00   ❤️ 1
    再改一次,大晚上脑子不清醒 https://trinket.io/python/dc0a87c0e3
    wweir
        10
    wweir  
       2018-06-22 06:27:02 +08:00 via Android
    写过一个干这事儿的库。
    难点不是转换,是保证 json 结构能对的上 csv,或者对不上的部分可以丢弃
    blueset
        11
    blueset  
       2018-06-22 07:37:39 +08:00   ❤️ 1
    假设输入合法,写了一个极其简陋的做法

    https://ideone.com/69YPy4
    blless
        12
    blless  
       2018-06-22 08:19:10 +08:00 via iPhone
    @lizon go 我记得也不难 写个 struct 打上 json csv 的 tag,然后用 csv 反序列化 json 序列化就好
    lizon
        14
    lizon  
       2018-06-22 09:09:41 +08:00 via Android
    @blless 这是个动态结构,你用 golang 试试呢,我没找到方便的做法。[]map[string][]interface{}深入到内部节点还得断言,就没继续写了
    araraloren
        15
    araraloren  
       2018-06-22 09:34:49 +08:00
    。。。LZ 的 json 还多写了一行,害我研究一大会!
    holmesabc
        16
    holmesabc  
       2018-06-22 09:40:05 +08:00
    咋一看,没懂规则是个啥。。。

    不过 简单点,先转成个树(结点), 再把树序列化成 json
    IceCola1
        17
    IceCola1  
       2018-06-22 10:50:59 +08:00   ❤️ 1
    https://github.com/Colaplusice/Homework 我的数据集要比你的多一些,也能找出一些不太好找的 bug.顺便推销一波 github,里面都是干货哦。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1347 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:25 · PVG 01:25 · LAX 09:25 · JFK 12:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.