Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.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
如何在使用AJAX返回时将python中的数组转换为与Google图表兼容_Python_Python 3.x - Fatal编程技术网

如何在使用AJAX返回时将python中的数组转换为与Google图表兼容

如何在使用AJAX返回时将python中的数组转换为与Google图表兼容,python,python-3.x,Python,Python 3.x,我在数据库中有以下格式的数据,这只是数据的一部分(第一行是列) 我不知道如何将其转换为Google图表格式所需的格式 我需要以某种方式将其转换并以以下格式返回(作为数组) 如您所见,场景和建筑是结合在一起的,其值与周末一致 我不知道该怎么做,我想做点什么: for path in result: newPath = False if not path in data: newPath = True if newPath: data[ path ] = ['Week Nu

我在数据库中有以下格式的数据,这只是数据的一部分(第一行是列)

我不知道如何将其转换为Google图表格式所需的格式

我需要以某种方式将其转换并以以下格式返回(作为数组)

如您所见,场景和建筑是结合在一起的,其值与周末一致

我不知道该怎么做,我想做点什么:

for path in result:

    newPath = False
    if not path in data: newPath = True
    if newPath: data[ path ] = ['Week Number']

    for label in result[path]:
        for week_number in result[path][label]:
            value = result[path][label][week_number]
但它不会带来附加值


非常感谢您的帮助

根据您在问题中提供的示例数据,以下是您可以做到的:

from ast import literal_eval
with open('data.txt', 'r') as inFile:
    lines = [literal_eval(elem) for elem in inFile.read().split(',\n')]
    weekNumbers = sorted(set(line[0] for line in lines))
    result = []
    for weekNumber in weekNumbers:
        tempList = []
        tempList.append(weekNumber)
        for line in lines:
            if line[0]==weekNumber:
                tempList.append(line[-1])
        result.append(tempList)

    for elem in result:
        print(elem)
样本数据:

(1, 'A', 1, 'Scen1', 312),
(1, 'B', 2, 'Scen2', 123),
(1, 'C', 3, 'Scen3', 34324),
(2, 'A', 1, 'Scen1', 123),
(2, 'B', 2, 'Scen2', 431),
(2, 'C', 3, 'Scen3', 555)
结果:

[1, 312, 123, 34324]
[2, 123, 431, 555]

根据您在问题中提供的样本数据,以下是您如何做到这一点:

from ast import literal_eval
with open('data.txt', 'r') as inFile:
    lines = [literal_eval(elem) for elem in inFile.read().split(',\n')]
    weekNumbers = sorted(set(line[0] for line in lines))
    result = []
    for weekNumber in weekNumbers:
        tempList = []
        tempList.append(weekNumber)
        for line in lines:
            if line[0]==weekNumber:
                tempList.append(line[-1])
        result.append(tempList)

    for elem in result:
        print(elem)
样本数据:

(1, 'A', 1, 'Scen1', 312),
(1, 'B', 2, 'Scen2', 123),
(1, 'C', 3, 'Scen3', 34324),
(2, 'A', 1, 'Scen1', 123),
(2, 'B', 2, 'Scen2', 431),
(2, 'C', 3, 'Scen3', 555)
结果:

[1, 312, 123, 34324]
[2, 123, 431, 555]

你是如何获得这些数据的?它们是字符串还是元组?这是在我的私有数据库中,我已经粘贴在这里了。它们存储在纯文本文件中吗?是的,这是文件-如何获取这些数据?它们是字符串还是元组?这是在我的私人数据库中,我粘贴在这里。它们存储在纯文本文件中吗?是的,这是文件-完美,这正是我需要的,谢谢!作为数组中的第一个元素,是否还有机会添加标签?这是周数作为第一个值和场景,您可以在循环之前添加
result.append(['Week number','A-scene1','B-scene2','C-scene3'])
。很高兴我能帮忙。如果有帮助,请随时投票或接受答案,并报告您可能面临的任何问题。完美,这正是我需要的,谢谢!作为数组中的第一个元素,是否还有机会添加标签?这是周数作为第一个值和场景,您可以在循环之前添加
result.append(['Week number','A-scene1','B-scene2','C-scene3'])
。很高兴我能帮忙。如果有帮助,请随意投票或接受答案,并报告您可能面临的任何问题。