Python 3.x 在python中删除行中的引号

Python 3.x 在python中删除行中的引号,python-3.x,Python 3.x,我有一个具有相同数据的文件: {'name': 'Atucha', 'location': (-34.0, -59.167), 'active_reactors': 1}, {'name': 'Embalse', 'location': (-32.2333, -64.4333), 'active_reactors': 1}, {'name': 'Armenia', 'location': (40.167, 44.133), 'active_reactors': 1}, {

我有一个具有相同数据的文件:

{'name': 'Atucha', 'location': (-34.0, -59.167), 'active_reactors': 1},
    {'name': 'Embalse', 'location': (-32.2333, -64.4333), 'active_reactors': 1},
    {'name': 'Armenia', 'location': (40.167, 44.133), 'active_reactors': 1},
    {'name': 'Br', 'location': (51.217, 5.083), 'active_reactors': 1},
    {'name': 'Doel', 'location': (51.333, 4.25), 'active_reactors': 4},
    {'name': 'Tihange', 'location': (50.517, 5.283), 'active_reactors': 3}
我正在努力阅读:

import csv
listok=[]
with open('Uni_coord.csv', 'r') as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        listok.extend(row)
但在这一步之后,我看到列表对象的所有行前后都有非常奇怪的引号:

[“{'name':'','location':(),'name':'')}]

所需的输出看起来像一个简单的列表对象,每行中没有引号:

[{'name': 'Atucha', 'location': (-34.0, -59.167), 'active_reactors': 1},
    {'name': 'Embalse', 'location': (-32.2333, -64.4333), 'active_reactors': 1},
    {'name': 'Armenia', 'location': (40.167, 44.133), 'active_reactors': 1},
    {'name': 'Br', 'location': (51.217, 5.083), 'active_reactors': 1},
    {'name': 'Doel', 'location': (51.333, 4.25), 'active_reactors': 4},
    {'name': 'Tihange', 'location': (50.517, 5.283), 'active_reactors': 3}]

我如何才能删除它或更正确地读取文件中的数据?谢谢

@Janek,您可以在阅读Uni_coord.csv后尝试以下代码以获取词典列表

注意:您的Uni_coord.csv文件不包含实际csv文件应包含的格式的数据,但您仍然可以像读取普通文件一样读取该文件

问题是您不必在这里使用csv模块


您的数据不是csv格式,请参阅。告诉我们你想做什么,因为我们看到的只是一些格式化的字符串和一些没有达到预期效果的代码。提问并描述你正在尝试做什么,你期望得到什么结果,以及你得到了什么结果。你的CSV文件没有实际CSV应该包含的数据。如果问题是你不使用csv模块。只需在读取普通文件时读取文件,通过连接所有行(无
\n
)创建一行,使用json.loads()将该行转换为真实对象字典。ValueError:应为包含在双引号中的属性名称:第1行第2列(char 1),因为我的数据不是像json@Janek,你能把你的代码和CSV文件数据粘贴到某个地方并分享链接吗。我想调查这个问题以帮助你。做一件事,在GitHub上创建两个文件作为GIST并共享链接。我会解决它,并让你知道一旦完成。它不是Json,文件有一个自由的格式,我不需要字典,我想与列表类型objectit的工作不像你是Json的工作。json模块用于将字符串格式的对象(如
'[12,34,67]'
转换为实际对象
[12,34,67]
),即列表。也可以反转。对不起,您的决定无效。我无法用jsonWhat读取数据。您遇到了什么错误。您能否提供代码和您正在阅读的CSV,以便我可以研究问题并帮助您。@Janek,我研究了您在问题中提到的CSV的内容。我找到了问题所在并更新了代码。请检查一下,如果您仍然面临任何错误,请告诉我。我想现在应该可以了。在我以前的代码中,我没有考虑每行末尾的分号。
import json

lines =""
with open("Uni_coord.csv") as f:
    for line in f.readlines():
        lines += line.strip()

lines +=  "[" + lines + "]"
my_list = json.loads(lines)

print(l)

# Pretty printing list of dictionaries (it is useful to view the contents of huge list)
print(json.dumps(my_list, indent=4))