我有这样的字典:
culture= {13298341: [18.81,1155,'09-10-06',"['Africa', 'books', 'storytelling',
'writing']", 'The danger of a single story','Chimamanda Ngozi'],
14689301: [21.26,970,'06-09-25',"['TED Brain Trust', 'brain', 'evolution']",
'The surprising science of happiness','Dan Gilbert']}
每个键有多个值。 如何将这个字典存储在一个新的csv文件中,每个键和每个值都在一个单独的列中?
结果应该是这样的csv文件:
views duration comments Published_date tags title speaker
13298341 18.81 1155 09-10-06 ['Africa', 'books', 'storytelling'] The danger of a single story Chimamanda Ngozi
14689301 21.26 970 06-09-25 ['TED Brain Trust', 'brain', 'evolution'] The surprising science of happiness Dan Gilbert
答案 0 :(得分:3)
首先,我删除了列表中的双引号。我不认为他们是需要的,所以希望这不会引起不适当的问题。
其次,希望你对以熊猫为中心的解决方案感到满意。
import pandas as pd
culture= {13298341: [18.81, 1155, '09-10-06', ['Africa', 'books', 'storytelling', 'writing'],
'The danger of a single story','Chimamanda Ngozi'],
14689301: [21.26, 970, '06-09-25', ['TED Brain Trust', 'brain', 'evolution'],
'The surprising science of happiness','Dan Gilbert']}
df = pd.DataFrame(culture).transpose().reset_index()
df.columns = ['views', 'duration', 'comments', 'Published_date', 'tags', 'title', 'speaker']
df.set_index('views', inplace = True)
df.to_csv('df.csv')
第三,我建议使用“视图”以外的索引。您可以通过删除上面的df.set_index(...)
行来解决此问题。
ETA:刚刚检查过,它在那里使用双引号。我认为它不会影响CSV输出。但是,使用引号,pandas将数据存储为字符串;如果没有引号,它会将它们存储为列表,这意味着您可以通过索引来访问它们。凉。