Python 如何将数据帧转换为csv?
我有一个Json文件,我把它转换成字典,然后从中提取一些数据,这些数据是类的名称 这是我的密码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
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)