*朋友你好! 我想将我使用tweepy的原始json推文转换为csv和两个字段,“创建于”和“文本”转换为ASCII 我有错误,NameError“data_python”没有定义。 我很迷惑。 提前谢谢
这是我的代码
import json
import csv
try:
data_json = open('nawaz.json', mode='r').read()
data_python = json.loads(data_json) // here....
except Exception as e:
print(str(e))
csv_out = open('tweets_out_ASCII.csv', mode='w')
writer = csv.writer(csv_out)
fields = ['created_at', 'text']
writer.writerow(fields)
for line in data_python: // here it gives error
writer.writerow([line.get('created_at'), line.get('text').encode('unicode_escape'))]
csv_out.close()
这是我收到的错误
Traceback (most recent call last):
File "json_to_csv.py", line 25, in <module>
for line in data_python:
NameError: name 'data_python' is not defined
这是我的json示例
[![json example[![\]\[1\]][1]][1]
答案 0 :(得分:2)
当它抛出错误时,它跳过分配给变量,因为try:
n = int('a')
except ValueError:
pass
可能无效json。
考虑一下:
n
try:
data_json = open('nawaz.json', mode='r').read()
data_python = json.loads(data_json)
except Exception:
data_python = [] # Some default value
会是什么?它不能被分配给所有内容,因为引发的异常使它跳过赋值。
所以,你可以给它一个默认值:
{{1}}
或者你可以不抓住异常并让它失败。