json - 如何使用 Django DRF 将“CSV 杂乱数据”转换为“JSON 结构化数据”
问题描述
我写了一个没有模型的 django api。我使用序列化器。在视图中,这个 api 需要一个 csv,当我调用 get api 时,它会给我一个我不想要的数据。我想要更有条理。但我不知道我需要使用哪个函数来显示格式化的 json。
视图.py
class bonolothaView(views.APIView):
def get(self, request):
# Load CSV Data
data = pd.read_csv("Data/ShapeUpData.csv", index_col=0)
# Load Specific Column in Dataframe
df = pd.DataFrame(data, columns = [ 'Challan Date' , 'Region', 'Net Sales', 'Qty'])
df.columns = df.columns.str.strip().str.replace(' ', '')
yourdata= [{"challandate": df["ChallanDate"], "region":df["Region"] , "qty": df["Qty"], "netsales": df["NetSales"]}]
print(yourdata)
results = bonolothaSerializer(yourdata, many=True).data
return Response(results)
序列化程序.py
from rest_framework import serializers
class bonolothaSerializer(serializers.Serializer):
challandate = serializers.CharField()
region = serializers.CharField()
qty = serializers.CharField()
netsales = serializers.CharField()
data.csv 标题是:
challan Date Region Qty Sales
07/03/2017 Banani 1 7748
07/03/2017 Gulsan 1 7748
07/08/2017 Noakhali 2 8979
when i call the postman it gives me output like that:
[
{
"Challan Date":"07\/03\/2017",
"Region":"Dhaka North",
"Qty":1,
"Net Sales":7748
},
{
"Challan Date":"07\/03\/2017",
"Region":"Dhaka North",
"Qty":1,
"Net Sales":7748
}
]
我希望我的 csv 中出现这种类型的 JSON 文件。但实际输出是这样的
[
{
"challandate": "Challan Date\n07/03/2017 NaN\n07/03/2017 NaN\n07/04/2017 NaN\n07/04/2017 NaN\n07/05/2017 NaN\n07/05/2017 NaN\n07/06/2017 NaN\n07/06/2017 NaN\n07/06/2017 NaN\n07/06/2017 NaN\nName: ChallanDate, Length: 990, dtype: float64",
"region": "Challan Date\n07/03/2017 Dhaka North\n07/03/2017 Dhaka North\n07/04/2017 Dhaka North\n07/04/2017 A & P\n07/05/2017 Dhaka North\n07/05/2017 Dhaka North\n07/06/2017 Khulna\n07/06/2017 Khulna\n07/06/2017 Dhaka South\n07/06/2017 Dhaka North\n04/16/2018 Dhaka South\nName: Region, Length: 990, dtype: object",
"qty": "Challan Date\n07/03/2017 1\n07/03/2017 1\n07/04/2017 1\n07/04/2017 1\n07/05/2017 1\n07/05/2017 1\n07/06/2017 3\n07/06/2017 1\n07/06/2017 2\nName: Qty, Length: 990, dtype: int64",
"netsales": "Challan Date\n07/03/2017 7748\n07/03/2017 7748\n07/04/2017 7748\n07/04/2017 7748\n07/05/2017 7748\n07/05/2017 7748\n07/06/2017 23244\n07/06/2017nName: NetSales, Length: 990, dtype: int64"
}
]
解决方案
推荐阅读
- python - 需要对 Coef 进行澄清。和 St.Err。MixedLM 结果中的随机参数
- java - 在 Neo4j 中优先过滤单个属性
- sql-server - 达到特定数据库大小时收到警告
- ios - “FIRInstanceID”没有可见的@interface 声明选择器“setAPNSToken:type:”
- azure - ASA Lag 正在返回给定持续时间之外的结果
- android - 如何自定义 android CalendarView 单元格?
- javascript - 表格拖动器的基本实现
- python - 是否可以在 Python 中将二进制文件的内容作为字典读取?
- python - 定义的 PiCamera camera.shutter 与查询的 camera.exposure_speed 不匹配
- r - 不使用时导入文件(不再使用)