如何将导入的 csv 文件中的单引号删除到列表中?

How to remove single quotes from imported csv file into a list?

我将列表导出到 csv 文件中:

file = open('all_states.csv', 'w+', newline='')

# writing the data into the file
with file:
    write = csv.writer(file)
    write.writerows(all_states)

我从另一个脚本导入 csv 文件为:

with open('all_states.csv') as file:

    reader = csv.reader(file)

    states = list(reader)

file.close()

导出的原始数据为:

exp_data = [
    [[0], [[1, 0, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 1, 0], [0, 0, 0], [0, 1, 0]], [0, 0, 1]], 
    [[0], [[1, 0, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 1, 0], [0, 0, 0], [0, 1, 0]], [-1, 0, 0]], 
    [[0], [[1, 0, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 1, 0], [0, 0, 0], [0, 1, 0]], [0, -1, 0]]
]

但是当我导入时,我得到了一些我想删除的单引号。

impo_data = [
    ['[0]', '[[1, 0, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 1, 0], [0, 0, 0], [0, 1, 0]]', '[0, 0, 1]'], 
    ['[0]', '[[1, 0, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 1, 0], [0, 0, 0], [0, 1, 0]]', '[-1, 0, 0]'], 
    ['[0]', '[[1, 0, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 1, 0], [0, 0, 0], [0, 1, 0]]', '[0, -1, 0]']
]

如何在导出或导入时删除引号?

据我所知,csv 格式的引文是可以的。但是如果你想删除引号,你可以试试下面的方法。导入 csv 文件时,定义 quotechar:

csv.reader(inp_file, delimiter=',', quotechar="'")

问题是您的 CSV 文件被读取为字符串,而您想要处理它,就好像它不是。您的商品看起来都是 JSON,所以只有 运行 到 json.loads

states = [[json.loads(item) for item in row] for row in reader]