pandas文件导入/导出实例:JSON、CSV、Excel
1. 读写JSON
JSON与字典相似,由键值对构成。
对于JSON的格式化处理:
①菜鸟工具:https://c.runoob.com/front-end/53/
②JsonLint:https://jsonlint.com/
③BEJSON:https://www.bejson.com/
示例JSON文件:历年诺贝尔奖 https://api.nobelprize.org/v1/prize.json

使用pd.read_json()。一级key为prizes,对应的值为列表:

选取列表中的索引2:
得到列表该索引处的字典:

将字典规范化(normalize)为表格:pd.json_normalize()
但是字典中的laureates对应的字典还在:

进一步将其规范化,并将需要保留的"year", "category"传递给meta参数:
laureates成功被拆分:

但是,不能急着将data = chemistry_2019 = nobel.loc[0, "prizes"]改成data = nobel["prizes"],因为有的行中并没有laureates。自诺贝尔文学奖设立以来,瑞典学院共有7次停颁此奖,时间分别:1914年、1918年、1935年、1940年、1941年、1942年和1943年。例如1940年:

因此字典中缺少laureates相应的键值对。可通过.setdefault("laureates", [])设置"laureates"对应空值:
现在就可以写data = nobel["prizes"]了:

使用.to_json把表格转化成Json。
orient = "records"得到由多个字典组成的列表:
orient = "split"得到由三个字典组成的列表,第一个是列名"columns",第二个是行名(索引)"index",第三个是数据"data":
如果需要保存为文件,把文件名传递给第一个参数:
2. 读写CSV
示例CSV文件:纽约市新生婴儿信息 http://mng.bz/MgzQ
这个应该是个短链接网站。该链接可以获得URL,用于CSV文件输入:https://data.cityofnewyork.us/api/views/25th-nujf/rows.csv

pd.read_csv()读取CSV:
to_csv()转为CSV:(012345的默认索引也会被被转)

使用index = False去除默认索引:

选取指定列,保存CSV:
3. 环境的安装和配置
在anaconda prompt查看anaconda中所有可用的环境及其位置:
base是基础自带的,py37是我之前自己建立的:

conda info的帮助界面:

环境的创建:
也可在Anaconda Navigator管理环境:

4. 读写Excel
不推荐使用anaconda的base环境。
如果是新环境,记得安装xlrd和openpyxl:
直接读:

选取指定列,设置指定索引:

多工作表的工作簿,默认导入第一个表:

sheet_name = None则能得到一个字典:

指定表:
两个工作表写入一个工作簿示例: