python - 使用 Pandas 将数据从 CSV 格式传输到具有大量字段名的 JSON
问题描述
试图获取一个看起来像这样的文件
并使用以下代码将其转换为 Json。它没有正确打印值。除顶部列之外的值打印为 NULL。
import numpy as np
import pandas as pd
import csv
import json
df = pd.read_csv('1mins data.csv', 'r', ",")
df.head()
fieldnames = df.columns[1:-1]
print(fieldnames[:])
jsonfile = open('1mins data.json', 'w')
fieldnames=fieldnames
reader = csv.DictReader( df, fieldnames)
for row in reader:
json.dump(row, jsonfile)
jsonfile.write('\n')
在接受了下面给出的建议后,我更新了脚本。
import numpy as np
import pandas as pd
import csv
import json
df = pd.read_csv('1mins data.csv', 'r', ",")
df.head()
df.columns[1:-1].to_json(path_or_buf='1minsdata.json')
现在我收到了这个错误,
AttributeError: 'Index' object has no attribute 'to_json'
通过这样做修复它
import numpy as np
import pandas as pd
import csv
import json
df = pd.read_csv('1mins data.csv', 'r', ",")
df.set_index('Time')df.to_json()
df.to_json(path_or_buf='1mins data.json')
df.to_json()
提前致谢,
解决方案
您可以将 pandas DataFrame 转换为 json 字符串
df.to_json()
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_json.html
推荐阅读
- php - 如果 Woocommerce 订单项具有特定的自定义元数据,则向电子邮件添加文本
- javascript - 将面积图上的刻度线与字符串 X 值对齐
- node.js - Node.js 解析记录集输出
- android - 使用 Android 设备管理 API 可以将密码限制为数字
- python-3.7 - 如何打印python记录器信息级别
- gradle - 来自根多项目的本地依赖项在 gradle 中构建
- lazarus - TRasterImage 变量的 FreeImage 和 FreeImage 之间的区别?
- django - 如何在django中获取字段的值
- python - 在python的except子句中将变量值设置为空字符串
- android - 最佳应用性能