Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何转换';CSV混乱数据';进入';JSON结构化数据&x27;使用Django DRF_Json_Django_Python 3.x_Django Rest Framework - Fatal编程技术网

如何转换';CSV混乱数据';进入';JSON结构化数据&x27;使用Django DRF

如何转换';CSV混乱数据';进入';JSON结构化数据&x27;使用Django DRF,json,django,python-3.x,django-rest-framework,Json,Django,Python 3.x,Django Rest Framework,我编写了一个没有模型的django api。我使用序列化程序。在视图中,此api采用csv,当我调用get api时,它会提供我不需要的数据。我想要更有条理的。但是我不知道我需要使用哪个函数来显示格式化的json view.py class bonolothaView(views.APIView): def get(self, request): # Load CSV Data data = pd.read_csv("Data/ShapeUpData.

我编写了一个没有模型的django api。我使用序列化程序。在视图中,此api采用csv,当我调用get api时,它会提供我不需要的数据。我想要更有条理的。但是我不知道我需要使用哪个函数来显示格式化的json

view.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

我希望从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"
    }
]


还请添加一个输入CSV数据的示例已添加CSV不确定这是否是问题所在,但
data.CSV
文件的列与
DataFrame
中声明的列不相同。资本
C
对于
Challan日期
Net
销售,而不是
sales
,并且它们的顺序不相同。我解决了问题。实际上,它给了我一根弦。所以我使用json.load(string_变量)。然后,当我发送请求时,它会给我一个正确的json格式输出。请同时添加一个输入CSV数据示例。已添加CSV不确定这是否是问题所在,但是
data.CSV
文件的列与
数据框中声明的列不相同。资本
C
对于
Challan日期
Net
销售,而不是
sales
,并且它们的顺序不相同。我解决了问题。实际上,它给了我一根弦。所以我使用json.load(string_变量)。然后,当我发送请求时,它会给我一个正确的json格式输出
[  
    {  
        "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
    }
]
[
    {
        "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"
    }
]