How to write new csv for each unique value in a list of dictionaries?





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















I'm pretty new to Python and have been struggling with the below:



I have a list of hundreds dictionaries that contain information about people. See example below:



peopleData = [
{'accepted_invite': 'false',
'company_id': '12345',
'company_name': 'Fake Company',
'email': 'johndoe@test.com',
'first_name': 'John',
'has_custom_fields': 'false',
'has_qr_codes': 'false',
'last_login': '1544635793985',
'last_name': 'Doe',
'permission': 'user',
'person_id': '78910288'},

{'accepted_invite': 'true',
'company_id': '87653',
'company_name': 'Fake Company 2',
'email': 'janesmith@test.com',
'first_name': 'Jane',
'has_custom_fields': 'false',
'has_qr_codes': 'false',
'last_login': '',
'last_name': 'Smith',
'permission': 'manager',
'person_id': '92131228'}

{'accepted_invite': 'true',
'company_id': '87653',
'company_name': 'Fake Company 2',
'email': 'markbell@test.com',
'first_name': 'Mark',
'has_custom_fields': 'false',
'has_qr_codes': 'false',
'last_login': '',
'last_name': 'Bell',
'permission': 'user',
'person_id': '83628492'}
]


Each dictionary contains a key 'company_id'. Because many of the people belong to the same company, there will be multiple people with the same 'company_id' value.



I'm trying to write a new csv file for each unique 'company_id' value. The csv should contain each person who belongs to that 'company_id'.



So using the example above the results should be:



12345.csv
(would contain John Doe's information)

87653.csv
(would contain Jane Smith and Mark Bell's information)


I've figured parts out, but have struggled with pieces of this. What would be your best recommendation?










share|improve this question























  • you can solve it in 2 ways, first, make a new dict which will hold company_id and list_of_dicts_with_that_company_id. Iterate on your current list and keep adding the elements of current list to appropriate company id list of new dict. After you have traversed the current list, traverse the new dict as key pair value and there you will be having company id and a list of all its data. Second approach is to sort current list on int(company_id), traversing it, creating a file when consecutive ids differ and writing to file

    – tkhurana96
    Jan 4 at 5:26


















0















I'm pretty new to Python and have been struggling with the below:



I have a list of hundreds dictionaries that contain information about people. See example below:



peopleData = [
{'accepted_invite': 'false',
'company_id': '12345',
'company_name': 'Fake Company',
'email': 'johndoe@test.com',
'first_name': 'John',
'has_custom_fields': 'false',
'has_qr_codes': 'false',
'last_login': '1544635793985',
'last_name': 'Doe',
'permission': 'user',
'person_id': '78910288'},

{'accepted_invite': 'true',
'company_id': '87653',
'company_name': 'Fake Company 2',
'email': 'janesmith@test.com',
'first_name': 'Jane',
'has_custom_fields': 'false',
'has_qr_codes': 'false',
'last_login': '',
'last_name': 'Smith',
'permission': 'manager',
'person_id': '92131228'}

{'accepted_invite': 'true',
'company_id': '87653',
'company_name': 'Fake Company 2',
'email': 'markbell@test.com',
'first_name': 'Mark',
'has_custom_fields': 'false',
'has_qr_codes': 'false',
'last_login': '',
'last_name': 'Bell',
'permission': 'user',
'person_id': '83628492'}
]


Each dictionary contains a key 'company_id'. Because many of the people belong to the same company, there will be multiple people with the same 'company_id' value.



I'm trying to write a new csv file for each unique 'company_id' value. The csv should contain each person who belongs to that 'company_id'.



So using the example above the results should be:



12345.csv
(would contain John Doe's information)

87653.csv
(would contain Jane Smith and Mark Bell's information)


I've figured parts out, but have struggled with pieces of this. What would be your best recommendation?










share|improve this question























  • you can solve it in 2 ways, first, make a new dict which will hold company_id and list_of_dicts_with_that_company_id. Iterate on your current list and keep adding the elements of current list to appropriate company id list of new dict. After you have traversed the current list, traverse the new dict as key pair value and there you will be having company id and a list of all its data. Second approach is to sort current list on int(company_id), traversing it, creating a file when consecutive ids differ and writing to file

    – tkhurana96
    Jan 4 at 5:26














0












0








0








I'm pretty new to Python and have been struggling with the below:



I have a list of hundreds dictionaries that contain information about people. See example below:



peopleData = [
{'accepted_invite': 'false',
'company_id': '12345',
'company_name': 'Fake Company',
'email': 'johndoe@test.com',
'first_name': 'John',
'has_custom_fields': 'false',
'has_qr_codes': 'false',
'last_login': '1544635793985',
'last_name': 'Doe',
'permission': 'user',
'person_id': '78910288'},

{'accepted_invite': 'true',
'company_id': '87653',
'company_name': 'Fake Company 2',
'email': 'janesmith@test.com',
'first_name': 'Jane',
'has_custom_fields': 'false',
'has_qr_codes': 'false',
'last_login': '',
'last_name': 'Smith',
'permission': 'manager',
'person_id': '92131228'}

{'accepted_invite': 'true',
'company_id': '87653',
'company_name': 'Fake Company 2',
'email': 'markbell@test.com',
'first_name': 'Mark',
'has_custom_fields': 'false',
'has_qr_codes': 'false',
'last_login': '',
'last_name': 'Bell',
'permission': 'user',
'person_id': '83628492'}
]


Each dictionary contains a key 'company_id'. Because many of the people belong to the same company, there will be multiple people with the same 'company_id' value.



I'm trying to write a new csv file for each unique 'company_id' value. The csv should contain each person who belongs to that 'company_id'.



So using the example above the results should be:



12345.csv
(would contain John Doe's information)

87653.csv
(would contain Jane Smith and Mark Bell's information)


I've figured parts out, but have struggled with pieces of this. What would be your best recommendation?










share|improve this question














I'm pretty new to Python and have been struggling with the below:



I have a list of hundreds dictionaries that contain information about people. See example below:



peopleData = [
{'accepted_invite': 'false',
'company_id': '12345',
'company_name': 'Fake Company',
'email': 'johndoe@test.com',
'first_name': 'John',
'has_custom_fields': 'false',
'has_qr_codes': 'false',
'last_login': '1544635793985',
'last_name': 'Doe',
'permission': 'user',
'person_id': '78910288'},

{'accepted_invite': 'true',
'company_id': '87653',
'company_name': 'Fake Company 2',
'email': 'janesmith@test.com',
'first_name': 'Jane',
'has_custom_fields': 'false',
'has_qr_codes': 'false',
'last_login': '',
'last_name': 'Smith',
'permission': 'manager',
'person_id': '92131228'}

{'accepted_invite': 'true',
'company_id': '87653',
'company_name': 'Fake Company 2',
'email': 'markbell@test.com',
'first_name': 'Mark',
'has_custom_fields': 'false',
'has_qr_codes': 'false',
'last_login': '',
'last_name': 'Bell',
'permission': 'user',
'person_id': '83628492'}
]


Each dictionary contains a key 'company_id'. Because many of the people belong to the same company, there will be multiple people with the same 'company_id' value.



I'm trying to write a new csv file for each unique 'company_id' value. The csv should contain each person who belongs to that 'company_id'.



So using the example above the results should be:



12345.csv
(would contain John Doe's information)

87653.csv
(would contain Jane Smith and Mark Bell's information)


I've figured parts out, but have struggled with pieces of this. What would be your best recommendation?







python-2.7 list csv






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jan 4 at 4:42









CFizCFiz

134




134













  • you can solve it in 2 ways, first, make a new dict which will hold company_id and list_of_dicts_with_that_company_id. Iterate on your current list and keep adding the elements of current list to appropriate company id list of new dict. After you have traversed the current list, traverse the new dict as key pair value and there you will be having company id and a list of all its data. Second approach is to sort current list on int(company_id), traversing it, creating a file when consecutive ids differ and writing to file

    – tkhurana96
    Jan 4 at 5:26



















  • you can solve it in 2 ways, first, make a new dict which will hold company_id and list_of_dicts_with_that_company_id. Iterate on your current list and keep adding the elements of current list to appropriate company id list of new dict. After you have traversed the current list, traverse the new dict as key pair value and there you will be having company id and a list of all its data. Second approach is to sort current list on int(company_id), traversing it, creating a file when consecutive ids differ and writing to file

    – tkhurana96
    Jan 4 at 5:26

















you can solve it in 2 ways, first, make a new dict which will hold company_id and list_of_dicts_with_that_company_id. Iterate on your current list and keep adding the elements of current list to appropriate company id list of new dict. After you have traversed the current list, traverse the new dict as key pair value and there you will be having company id and a list of all its data. Second approach is to sort current list on int(company_id), traversing it, creating a file when consecutive ids differ and writing to file

– tkhurana96
Jan 4 at 5:26





you can solve it in 2 ways, first, make a new dict which will hold company_id and list_of_dicts_with_that_company_id. Iterate on your current list and keep adding the elements of current list to appropriate company id list of new dict. After you have traversed the current list, traverse the new dict as key pair value and there you will be having company id and a list of all its data. Second approach is to sort current list on int(company_id), traversing it, creating a file when consecutive ids differ and writing to file

– tkhurana96
Jan 4 at 5:26












0






active

oldest

votes












Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54033215%2fhow-to-write-new-csv-for-each-unique-value-in-a-list-of-dictionaries%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54033215%2fhow-to-write-new-csv-for-each-unique-value-in-a-list-of-dictionaries%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Mossoró

Error while reading .h5 file using the rhdf5 package in R

Pushsharp Apns notification error: 'InvalidToken'