Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中将NDJSON转换为CSV_Python_Ndjson - Fatal编程技术网

在Python中将NDJSON转换为CSV

在Python中将NDJSON转换为CSV,python,ndjson,Python,Ndjson,有人能帮我把这个嵌套的JSON转换成CSV文件吗 {"campaignTitle": "Template Campaign", "listName": "Trial", "leadId": 573, "timezone": "Australia/Sydney", "isComplete": 0, "customerKey&quo

有人能帮我把这个嵌套的JSON转换成CSV文件吗

{"campaignTitle": "Template Campaign", "listName": "Trial", "leadId": 573, "timezone": "Australia/Sydney", "isComplete": 0, "customerKey": "576", "phone1": "+61212345678", "phone2": "", "phone3": "", "leadUploadDate": "2020-07-03 16:25:07", "lastDiallerTimestamp": "2020-07-09 13:59:55", "scheduledCallTimestamp": "2020-07-09 15:59:50", "campaignId": 4, "listId": 4, "isDialling": 0, "leadData": "{\"Email\":\"xxx@xxx.com.au\",\"Address\":\"73 White Road\",\"MQL20\":null,\"HQL2\":null,\"HQL1\":null,\"Industry\":\"\",\"CompanyName\":\"Cofi-Com Trading Pty Limited\",\"HQL3\":null,\"RecordComments1\":null,\"RecordComments2\":null,\"RecordComments3\":null,\"RecordComments4\":null,\"MQL10\":null,\"MQL4\":null,\"MQL14\":null,\"MQL5\":null,\"MQL13\":null,\"MQL6\":null,\"MQL12\":null,\"City\":\"West Ryde\",\"MQL7\":null,\"MQL11\":null,\"MQL18\":null,\"Postcode\":\"2114\",\"MQL1\":null,\"MQL17\":null,\"BasicLead\":null,\"MQL2\":null,\"MQL16\":null,\"CallRecording\":null,\"MQL3\":null,\"MQL15\":null,\"MQL19\":null,\"MQL8\":null,\"MQL9\":null,\"State\":\"\",\"GlobalCompanySize\":null,\"Country\":\"AU\",\"LastName\":\"Black\",\"LocalCompanySize\":\"100 - 249\",\"HQL_Timeframe3\":null,\"HQL_Timeframe2\":null,\"HQL_Timeframe1\":null,\"Authority\":null,\"Content_Syndication\":null,\"Salutation\":\"Mr\",\"JobTitle\":\"Information Technology Head\",\"Filtering3\":null,\"Filtering2\":null,\"Filtering4\":null,\"FirstName\":\"John\",\"Filtering1\":null,\"RH_RID\":null,\"HQL_OpID1\":null,\"HQL_OpID3\":null,\"Meiro_ID\":null,\"HQL_OpID2\":null,\"QCOptIn\":null}", "dialAttempts": 1, "diallerOutcomes": [], "wrapCodeId": 0, "leadInteractions": [{"interactionId": 578, "activities": [642]}], "leadActivities": [{"activityId": 642, "interactions": [578]}]}

请参考以下代码,将给定示例数据的json转换为dataframe。代码使用内置的
pd.DataFrame.from_dict()
json

import json
import pandas as pd
with open('json_in.json', 'r') as f:
    json_in=f.read()    

json_in=json.loads(json_in)

#json_in={"campaignTitle": "Template Campaign", "listName": "Trial", "leadId": 573, "timezone": "Australia/Sydney", "isComplete": 0, "customerKey": "576", "phone1": "+61212345678", "phone2": "", "phone3": "", "leadUploadDate": "2020-07-03 16:25:07", "lastDiallerTimestamp": "2020-07-09 13:59:55", "scheduledCallTimestamp": "2020-07-09 15:59:50", "campaignId": 4, "listId": 4, "isDialling": 0, "leadData": "{\"Email\":\"xxx@xxx.com.au\",\"Address\":\"73 White Road\",\"MQL20\":null,\"HQL2\":null,\"HQL1\":null,\"Industry\":\"\",\"CompanyName\":\"Cofi-Com Trading Pty Limited\",\"HQL3\":null,\"RecordComments1\":null,\"RecordComments2\":null,\"RecordComments3\":null,\"RecordComments4\":null,\"MQL10\":null,\"MQL4\":null,\"MQL14\":null,\"MQL5\":null,\"MQL13\":null,\"MQL6\":null,\"MQL12\":null,\"City\":\"West Ryde\",\"MQL7\":null,\"MQL11\":null,\"MQL18\":null,\"Postcode\":\"2114\",\"MQL1\":null,\"MQL17\":null,\"BasicLead\":null,\"MQL2\":null,\"MQL16\":null,\"CallRecording\":null,\"MQL3\":null,\"MQL15\":null,\"MQL19\":null,\"MQL8\":null,\"MQL9\":null,\"State\":\"\",\"GlobalCompanySize\":null,\"Country\":\"AU\",\"LastName\":\"Black\",\"LocalCompanySize\":\"100 - 249\",\"HQL_Timeframe3\":null,\"HQL_Timeframe2\":null,\"HQL_Timeframe1\":null,\"Authority\":null,\"Content_Syndication\":null,\"Salutation\":\"Mr\",\"JobTitle\":\"Information Technology Head\",\"Filtering3\":null,\"Filtering2\":null,\"Filtering4\":null,\"FirstName\":\"John\",\"Filtering1\":null,\"RH_RID\":null,\"HQL_OpID1\":null,\"HQL_OpID3\":null,\"Meiro_ID\":null,\"HQL_OpID2\":null,\"QCOptIn\":null}", "dialAttempts": 1, "diallerOutcomes": [], "wrapCodeId": 0, "leadInteractions": [{"interactionId": 578, "activities": [642]}], "leadActivities": [{"activityId": 642, "interactions": [578]}]}
df=pd.DataFrame.from_dict(json_in, orient='index')
df_final=pd.DataFrame.from_dict(json.loads(df.loc['leadData',:][0]), orient='index')
#To get transpose of the dataframe - Values in the Column Rather than index
df_final=df_final.T
#To copy a particular column to another dataframe
df_final.loc[:,"campaignTitle"]=df.loc["campaignTitle",:][0]
df_final.to_csv("<output-file.csv>", index=None)
导入json
作为pd进口熊猫
以open('json_in.json','r')作为f:
json_in=f.read()
json_-in=json.load(json_-in)
#json_in={“活动标题”:“模板活动”、“列表名”:“试用”、“leadId”:573、“时区”:“澳大利亚/悉尼”、“isComplete”:0、“客户密钥”:“576”、“电话1”:“+61212345678”、“电话2”:““电话3”:”、“leadUploadDate”:“2020-07-03 16:25:07”、“lastDiallerTimestamp”:“2020-07-09 13:59:55”、“scheduledCallTimestamp”:“2020-07-09 15:59:50”,“活动ID”:4,“列表ID”:4,“isDialling”:0,“leadData”:“{\”电子邮件\”:”xxx@xxx.com.au\“,”地址\“:”73 White Road \“,”MQL20\”:null,\”HQL2 \“:null,\”HQL1 \“:null,\”行业\“:\”,\”公司名称\“:”中粮国际贸易有限公司\“,”HQL3 \“:null,\”RecordComments1\”:null,\“RecordComments2\”:null,\“RecordComments3\”:null,\“RecordComments4\:null\“MQL10-10”MQL10\:零零零零教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师教师“:null,\'MQL15\':null,\'MQL19\':null,\'MQL8\':null,\”MQL9\“:null、\“State\”:\“\”、\“GlobalCompanySize\”:null、\“Country\”:“AU\”、\“LastName\”:“Black\”、\“LocalCompanySize\”:“100-249\”、\“HQL\u时间表3\”:null、\“HQL\u时间表2\”:null、\“HQL\u时间表1\”:null、\“Authority\”:null、\“Content\uSyndicat“Syndication\”:null、\“Mr\”、“Mr\”、“:“信息技术”:“Filterin\”Filtering2\“:null,\“Filtering4\”:null,\“FirstName\”:“John\”,\“Filtering1\”:null,\“RH\u RID\”:null,\“HQL\u OpID1\”:null,\“Meiro\u ID\”:null,\“HQL\u OpID2\”:null,\“QCOptIn\”:null},“拨号尝试”:1,“拨号结果”:[],“wrapCodeId”:0,“交互”:“交互”:“交互”:“交互ID”:“交互活动”:{:642,“交互作用”:[578]}]
df=pd.DataFrame.from_dict(json_in,orient='index')
df_final=pd.DataFrame.from_dict(json.loads(df.loc['leadData',:][0]),orient='index')
#获取数据帧的转置-列中的值而不是索引中的值
df_final=df_final.T
#将特定列复制到另一个数据帧
df_final.loc[:,“活动标题”]=df.loc[“活动标题”,:][0]
df_final.to_csv(“,index=None)

试试pd.read\u json()可能有用:和1。嵌套json和ndjson是不同的动物。选择一个你想要的。2.如果预期的产量增加了怎么办?3.到目前为止你都试了些什么?这个看起来很不错,你能帮我换一下吗?从json文件添加输入,输出为csv文件