CSV文件的Python字典不起作用



对不起,重复的标题类型。我正在发现一个问题和有关如何实现这一目标的示例。我有一个我从Zendesk提取的JSON文件。我正在做一个json.dumps,以将其变成可读的编辑和Python词典。我在for循环中有以下内容,因此我只能从JSON文件中获取所需的信息并将其写入CSV文件。

for item in data['results']:
    print(
        item['id'] ,item['via']['channel'], item['via']['source']['from'], item['subject'], item['tags'],
        item['created_at'], item['status'], item['custom_fields'][12], item['custom_fields'][12]['value'],
        item['result_type'], item['priority']

从此代码中,我获得了我想要的项目,并提供了正确的信息。

我已经尝试以下内容将其打印到文件中,但是我在文件中返回的只是最后一个记录

import csv
with open('file.txt', 'w') as file:
csv_app = csv.writer(file)
for item in python_data['results']:
    csv_app.writerows(item['id'], item['via']['channel'],item['via']['source']['from'],item['subject'], item['tags'],
           item['created_at'], item['status'], item['custom_fields'][12], item['custom_fields'][12]['value'],
           item['priority'], item['result_type'])

我想获得一些有关如何获取所有内容的建议(我尝试过很多东西)也有一个 item ['via'] ['source'] [''来自'] ['name name'] 我由于那里没有值而导致错误。我该如何在字段上在现场上处理它,我假设条件是if。

任何帮助或指向我朝正确方向指出的人都将不胜感激。

预先感谢。

首先, file是python中的一个保留单词。使用其他内容,例如ffout

第二,使用writerow代替writerows

第三,您的缩进在您的示例中不在(最后五行应缩进一个级别)。

import csv
data = {'results': [{'A': 1, 'B': 2, 'C': 3}, 
                    {'A': 10, 'B': 20, 'C': 30}]}
with open('test.txt', 'w') as f:
    csv_app = csv.writer(f)
    for item in data['results']:
        csv_app.writerow([item[x] for x in ['A', 'B', 'C']])
$ cat test.txt
1,2,3
10,20,30

最新更新