为什么POST方法发送的字符串在Django后端被错误解析,而相同的代码在Jupyter笔记本中工作?

2024-10-01 04:57:15 发布

您现在位置:Python中文网/ 问答频道 /正文

以下代码在Jupyter笔记本中运行良好。它创建数据帧:

string = "NUM,AIRLINE_ARR_ICAO,WAKE,SIBT,SOBT,PLANNED_TURNAROUND,DISTANCE_FROM_ORIGIN,DISTANCE_TO_TARGET\n1,VLG,M,2016-01-01 04:05:00,2016-01-01 14:10:00,45,2000,2000\n2,VLG,M,2016-01-01 04:05:00,2016-01-01 14:10:00,45,2000,2000\n3,VLG,M,2016-01-01 04:05:00,2016-01-01 14:10:00,45,2000,2000\n"

llist = np.array(string.splitlines())
new = []

for i in range(0,len(arr)):
   line = arr[i].split(",")
   new.append(line)

pd.DataFrame(new[1:],columns=new[0])

但是当我将它集成到Django应用程序中时,它错误地解析了inout字符串csvDatacsvData使用POST方法从React.js app发送到Django后端:'&csvData='+JSON.stringify(this.state.csvData)

这就是我如何在Django中阅读csvData(非常类似于我在Jupiter笔记本中测试的代码)

csvData = str(request.GET.get('csvData'))

print("CSV", csvData)

arr = np.array(csvData.splitlines())

new = []
for i in range(0,len(arr)):
    line = arr[i].split(",")
    new.append(line)

X = pd.DataFrame(new[1:],columns=new[0])

print("X",X.head())

print("CSV", csvData)打印我在Jupyter笔记本中使用的字符串!!!这意味着Django和Jupyter笔记本中的代码输入是相同的

但是,我在Django中得到以下结果:

X Empty DataFrame
Columns: ["NUM,...,2000, 2000\n14, VLG, ...]
[0 rows x 148 columns]

Numpy的版本是相同的。两个测试我都用同一台机器


Tags: columnsdjango代码dataframenewstringline笔记本