请这是我的代码。我想从输出中删除键,仅从“值”中删除键,由于我按“日期”分组,所以我不希望该列显示在列表中。
谢谢
df = pd.read_csv('testdata.csv')
json_dict = {}
for date_range, flights in df.groupby('date'):
json_dict[date_range]= [str(v) for v in flights.to_dict(orient='records')]
with open('testdata.json', 'w') as f:
json.dump(json_dict, f, indent=4, sort_keys=True)
电流输出:
{
"2001-04-10--2001-02-02": [
"{'Date': '2001-04-10--2001-02-02', 'DptCity_DptCountry': 'Beijing_Japan', 'AuthorID': 'GGG', 'ArCity_ArCountry': 'Paris_France'}"
],
"2008-03-10--2001-02-02": [
"{'Date': '2008-03-10--2001-02-02', 'DptCity_DptCountry': 'London_UK', 'AuthorID': 'BBB', 'ArCity_ArCountry': 'Lagos_Nigeria'}",
"{'Date': '2008-03-10--2001-02-02', 'DptCity_DptCountry': 'NewYork_US', 'AuthorID': 'DDD', 'ArCity_ArCountry': 'Nairobi_Kenya'}",
"{'Date': '2008-03-10--2001-02-02', 'DptCity_DptCountry': 'London_UK', 'AuthorID': 'EEE', 'ArCity_ArCountry': 'Paris_France'}",
"{'Date': '2008-03-10--2001-02-02', 'DptCity_DptCountry': 'NewYork_US', 'AuthorID': 'FFF', 'ArCity_ArCountry': 'Paris_France'}"
],
"2008-03-10--2001-04-02": [
"{'Date': '2008-03-10--2001-04-02', 'DptCity_DptCountry': 'Beijing_Japan', 'AuthorID': 'CCC', 'ArCity_ArCountry': 'Paris_France'}"
],
"2008-03-12--2001-02-02": [
"{'Date': '2008-03-12--2001-02-02', 'DptCity_DptCountry': 'NewYork_US', 'AuthorID': 'AAA', 'ArCity_ArCountry': 'Paris_France'}"
]
}
所需的输出:
{
"2001-04-10--2001-02-02": [
"{'Beijing_Japan','GGG', 'Paris_France'}"
],
"2008-03-10--2001-02-02": [
"{'London_UK', 'BBB','Lagos_Nigeria'}",
"{'NewYork_US','DDD','Nairobi_Kenya'}",
"{'London_UK','EEE','Paris_France'}",
"{'NewYork_US','FFF', 'ArCity_ArCountry': 'Paris_France'}"
],
"2008-03-10--2001-04-02": [
"{'Beijing_Japan','CCC','Paris_France'}"
],
"2008-03-12--2001-02-02": [
"{'NewYork_US','AAA','Paris_France'}"
]
}
最佳答案
尝试:
for date_range, flights in df.groupby('date'):
flights_no_date = flights.drop('date', axis=1)
json_dict[date_range]= map(list, flights_no_date.values)
关于python - 如何从字典和特定列中删除键?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35136797/