Экспорт списка столбцов и списка значений для этих столбцов в Excel - PullRequest
0 голосов
/ 31 января 2020

У меня есть список идентификаторов, по которым я зацикливаюсь, и я получаю список полей и значений.

Теперь я должен поместить оба списка в файл Excel, где FIELDS - это столбцы, а VALUES - строки для этих столбцов. , как я уже говорил, список идентификаторов означает, что каждый идентификатор отличается Ценности, но поля одинаковы. и VALUES должен иметь список / dict или что-то, что мы найдем в списке значений, мы поместим его в excel.

для этого я попытался с этим кодом:

field_nameList = []
field_valueList = []

for id in IDS:
    for field in id:
        field_value = id[field]

        ..... some code........

        field_name = id[field]

        ..... some code........

        field_nameList.append(field_name)
        field_valueList.append(field_value)

# Here after getting all the ID's Fields and Value i'm converting it to dictionary to export it to excel using pandas.

fieldsItems = dict(zip(field_nameList, field_valueList)) 
df = pd.DataFrame(fieldsItems)
df.to_excel('GXfile.xlsx', index=None,header=True)

Для одного идентификатора это сработало, но когда у меня есть несколько идентификаторов, а затем я пытаюсь сделать то же самое, я получаю

Ошибка: смешивание кодов с несериями может привести к неоднозначному упорядочению.

Мой основной мотив - для каждого идентификатора, какой бы список я ни получил, мне нужно создать столбцы и начиная со следующих циклов, просто продолжайте добавлять строку для ПОЛЕЙ.

Я знаю, что, возможно, моя реализация кода не верна, но, пожалуйста, предложите мне лучший способ.

Добавлено поле, которое является именем столбца здесь и значения, это пример данных Excel

Id  Resolution  subStatus           Last Viewed                     Σ Original Estimate Issue Type  CCB Decision    Reason For Escalation   CCB Comments    Issue Service Affecting?    Estimated Effort to Fix Reproducibility Problem Description/Systems Impacted    Symptoms    Release Note Status Release CCB Estimated Effort to Verify Fix
1   None        Screening Required  2020-01-30T06:38:45.668+0000    144000           Bug        Fix     Defer           ccb testing Yes             test                                        Never       test            test        Unspecified 
2   None        Screening Required  2020-01-30T06:38:45.668+0000    144000           Bug        Fix     Defer           ccb testing Yes             test                                        Never       test            test        Unspecified 

@ Парень, извините за неправильное объяснение, я ценю помощь и код, но здесь есть одно недоразумение, у меня есть 3 списка, первый список для идентификаторов в этот список 2, который я получаю динамически из кода, поэтому позвольте мне написать еще раз:

Первый список:

ID = [1,2,3,4..]

2-й список:

Field_Name =['A','B','C',...so on] this will be achieved by code 

3-й список :

Field_value =['A_values','B_values','C_values,....so on]

Excel Файл sh может содержать:

ID  A         B         C          ....
1   A_values  B_values  C_values   .....

Здесь мы можем ясно видеть, что я получаю Fields_name как столбцы и Filed_value как строку для этих конкретных столбцов ... как мы можем получить это.

1 Ответ

0 голосов
/ 31 января 2020

Согласно вашему обновленному сообщению:

import pandas as pd

ids=[1,2,3]
Field_Name =['A','B','C']
Field_value =['A_values','B_values','C_values']

zipped_name_and_value=dict(zip(Field_Name,Field_value))

df=pd.DataFrame([zipped_name_and_value])
df.index+=1

df.index.names=['Id']

Вывод

       A          B           C
Id          
1   A_values    B_values    C_values

В вышеприведенном случае идентификатор не приходит из списка.

Если вы хотите, чтобы все три списка идентификаторов, Field_Name, FieldValue должны быть использованы, в этом случае следующий код:

import pandas as pd

ids=[1,2,3] 
Field_Name =['A','B','C']
Field_value =[['A_values','B_values','C_values'],['A_values','B_values','C_values'],['A_values','B_values','C_values']]


df=pd.DataFrame(Field_value,index=ids,columns=Field_Name)

Выход

         A          B         C
Id          
1   A_values    B_values    C_values
2   A_values    B_values    C_values
3   A_values    B_values    C_values

Примечание : необходимо убедиться, что у Field_Value есть вложенный список, поскольку весь вложенный список будет обрабатываться как строка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...