Python 如何将数据帧转换为csv?

Python 如何将数据帧转换为csv?,python,json,csv,dataframe,Python,Json,Csv,Dataframe,我有一个Json文件,我把它转换成字典,然后从中提取一些数据,这些数据是类的名称 这是我的密码 import pandas as pd import json df = pd.read_json("/content/Test1.json") with open('/content/Test1.json') as handle: dictdump = json.loads(handle.read()) for elem in dictdump : print(elem['full

我有一个Json文件,我把它转换成字典,然后从中提取一些数据,这些数据是类的名称

这是我的密码

import pandas as pd
import json
df = pd.read_json("/content/Test1.json")
with open('/content/Test1.json') as handle:
    dictdump = json.loads(handle.read())
for elem in dictdump : 
    print(elem['fullyQualifiedName'])
然后返回这些类的名称:

android.support.v4.app.Watson
android.support.v4.app.Watson.OnCreateOptionsMenuListener
android.support.v4.app.Watson.OnPrepareOptionsMenuListener
android.support.v4.app.Watson.OnOptionsItemSelectedListener
com.actionbarsherlock.ActionBarSherlock
com.actionbarsherlock.ActionBarSherlock.OnCreatePanelMenuListener
com.actionbarsherlock.ActionBarSherlock.OnCreateOptionsMenuListener
com.actionbarsherlock.ActionBarSherlock.OnMenuItemSelectedListener
com.actionbarsherlock.ActionBarSherlock.OnOptionsItemSelectedListener
com.actionbarsherlock.ActionBarSherlock.OnPreparePanelListener

我想将此数据插入到CSV文件中。当您将json读入df时,如果您的数据帧类似于以下内容,请在任何解决方案的行中输入每个类的名称:

    fullyQualifiedName
0   android.support.v4.app.Watson
1   android.support.v4.app.Watson.OnCreateOptionsM...
2   android.support.v4.app.Watson.OnPrepareOptions...
3   android.support.v4.app.Watson.OnOptionsItemSel...
4   com.actionbarsherlock.ActionBarSherlock
5   com.actionbarsherlock.ActionBarSherlock.OnCrea...
6   com.actionbarsherlock.ActionBarSherlock.OnCrea...
7   com.actionbarsherlock.ActionBarSherlock.OnMenu...
8   com.actionbarsherlock.ActionBarSherlock.OnOpti...
9   com.actionbarsherlock.ActionBarSherlock.OnPrep...
然后,您可以使用并执行以下操作:

df.to_csv("test.csv",columns=["fullyQualifiedName"], index=False,header=False)
结果(csv文件的内容):

设置


如果您希望列名也以csv格式作为标题。

这是一种实现此目的的方法:

import pandas as pd

import json

classDF = pd.DataFrame(columns = ['NameOfClass', 'Type_of_smells'])

with open('/content/Test1.json') as handle:
    dictdump = json.loads(handle.read())

for elem in dictdump :     
    class_dict = {'NameOfClass': elem['fullyQualifiedName'], 'Type_of_smells': elem['WhatEverYourJsonNameIs']}
    class_name = pd.DataFrame.from_dict(class_dict, orient='index')
    class_name = class_name.transpose()
    classDF = pd.concat([classDF, class_name])

classDF.to_csv('/path/class_name.csv', mode='a', header=True)

使用
df.to_csv()
。请看。如果我想在CSV中添加一行,我该怎么做?@oumayma你想在哪里添加这行?在
NameOfClass
列中?我想添加一行名为Type_of_的气味,这行的值是从json文件中提取出来的,与“类的名称”相同,但是是一行,当然是在同一个CSV中。最后,我想要一个CSV,一行一列,像一个表,列中包含类的名称和气味的类型,因为我会计算每一行的气味类型的数量class@oumayma我根据你的需要编辑了我的答案。我希望这是你想要的。非常感谢uuu非常有帮助!
header=True
import pandas as pd

import json

classDF = pd.DataFrame(columns = ['NameOfClass', 'Type_of_smells'])

with open('/content/Test1.json') as handle:
    dictdump = json.loads(handle.read())

for elem in dictdump :     
    class_dict = {'NameOfClass': elem['fullyQualifiedName'], 'Type_of_smells': elem['WhatEverYourJsonNameIs']}
    class_name = pd.DataFrame.from_dict(class_dict, orient='index')
    class_name = class_name.transpose()
    classDF = pd.concat([classDF, class_name])

classDF.to_csv('/path/class_name.csv', mode='a', header=True)