我有一个JSON文件,我想要转换为CSV文件.我怎么能用Python做到这一点?
我试过了:
import json
import csv
f = open('data.json')
data = json.load(f)
f.close()
f = open('data.csv')
csv_file = csv.writer(f)
for item in data:
csv_file.writerow(item)
f.close()
Run Code Online (Sandbox Code Playgroud)
但是,它没有用.我正在使用Django,我收到的错误是:
import json
import csv
f = open('data.json')
data = json.load(f)
f.close()
f = open('data.csv')
csv_file = csv.writer(f)
for item in data:
f.writerow(item) # ? changed
f.close()
Run Code Online (Sandbox Code Playgroud)
那么,我尝试了以下内容:
[{
"pk": 22,
"model": "auth.permission",
"fields": {
"codename": "add_logentry",
"name": "Can add log entry",
"content_type": 8
}
}, {
"pk": 23,
"model": "auth.permission",
"fields": {
"codename": "change_logentry", …Run Code Online (Sandbox Code Playgroud) 我正在尝试定义一个过程,involved(courses, person)它将一个课程结构和一个人作为输入,并返回一个描述该人参与的所有课程的词典.
这是我的involved(courses, person)功能:
def involved(courses, person):
for time1 in courses:
for course in courses[time1]:
for info in time1[course]:
print info
Run Code Online (Sandbox Code Playgroud)
这是我的字典:
courses = {
'feb2012': { 'cs101': {'name': 'Building a Search Engine',
'teacher': 'Dave',
'assistant': 'Peter C.'},
'cs373': {'name': 'Programming a Robotic Car',
'teacher': 'Sebastian',
'assistant': 'Andy'}},
'apr2012': { 'cs101': {'name': 'Building a Search Engine',
'teacher': 'Dave',
'assistant': 'Sarah'},
'cs212': {'name': 'The Design of Computer Programs',
'teacher': 'Peter N.',
'assistant': 'Andy',
'prereq': 'cs101'},
'cs253':
{'name': …Run Code Online (Sandbox Code Playgroud) 我正在尝试检索“id”值:ad284hdnn。
我收到以下错误: TypeError: string indices must be integers
data = response.json()
print data
for key in data['result']:
print key['id']
Run Code Online (Sandbox Code Playgroud)
这是打印数据字符串时返回的json。
{u'meta': {u'httpStatus': u'200 - OK', u'requestId': u'12345'}, u'result': {u'username': u'test@test.com', u'firstName': u'joe', u'lastName': u'bloggs', u'accountStatus': u'active', u'id': u'ad284hdnn'}}
Run Code Online (Sandbox Code Playgroud) 我的字典功能有问题。
den = {
'first_name': 'den',
'last_name': 'elc',
'age': '16',
'city': 'slovakia',
}
for user, user_info in den.items():
nameo = user_info['first_name']
namei = user_info['last_name']
age = user_info['age']
city = user_info['city']
print(f"\tFirst name:{nameo}")
print(f"\tLast_name:{namei}")
print(f"\tAge:{age}")
print(f"\tCity:{city}")
Run Code Online (Sandbox Code Playgroud)
Python 打印此 TypeError:
Traceback (most recent call last):
File "D:/PyCharm Community/pycharm/venv/Test.py", line 15, in <module>
nameo = user_info['first_name']
TypeError: string indices must be integers
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我的代码看起来像这样:
payload = base64.b64decode(record['kinesis']['data'])
print("Decoded payload: " + payload)
Run Code Online (Sandbox Code Playgroud)
在日志中,打印行的结果如下所示:
解码的有效负载:{"timeStamp":1509835693.7319956,"thing":"testing/23"}
我不会像这样引用timeStamp:
payload['timeStamp']
Run Code Online (Sandbox Code Playgroud)
我对此数据结构中的内容感到困惑.有人可以向我解释我在这里有什么以及我如何访问变量有效载荷内的数据?