在Python中,Append函数似乎不工作。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Python中,Append函数似乎不工作。相关的知识,希望对你有一定的参考价值。
我需要一个JSON文件的数组插入到一个DB中,因为bulk_doc(array_of_json)比Createdoc(json_doc)更有效,更快,我写了这段代码。
with open('C:\DATA_VOTES_CST_PTY.csv', 'r') as f:
key = f.readline().replace('\n', '').replace('\"', '').split(',')
while (True) :
line = f.readline()
if (line == '') :
break
else :
value = line.replace('\n', '').replace('\"', '').split(',')
for i in range(len(key)):
app.update(key[i] : value[i])
json_doc = json.dumps(app)
print(json_doc) #print what I want
docs.append(json_doc)
print("\n", json_doc)
print("now print docs: ")
print(docs) #print nothing, neither errors
这个文档有1百万行。我不知道该怎么解决这个问题,好像append不起作用。
PS: 我在Spyder4 Anaconda上使用Python 3.8。
答案
给定这个csv。
A,B,C
1,2,3
4,5,6
7,8,9
这段代码
import csv
import json
docs = []
with open('test.csv', newline='') as f:
reader = csv.DictReader(f)
for row in reader:
docs.append(json.dumps(row))
print(docs)
产生这个输出
['"A": "1", "B": "2", "C": "3"', '"A": "4", "B": "5", "C": "6"', '"A": "7", "B": "8", "C": "9"']
如果你想要一个JSON数组,而不是JSON对象的列表,你可以做的是
docs = list(reader)
json_array = json.dumps(docs)
以上是关于在Python中,Append函数似乎不工作。的主要内容,如果未能解决你的问题,请参考以下文章