Python CSV希望数组[x,y]作为数据点之一,但输出;[x,y]";写入CSV文件时

Python CSV希望数组[x,y]作为数据点之一,但输出;[x,y]";写入CSV文件时,python,csv,Python,Csv,我的初始文件具有纬度和经度,我正在尝试添加一个列位置,以将纬度和经度保持在数组[x,y]中。下面的代码提供了一个csv文件,其中position存储字符串“[x,y]”,而不是数组[x,y]。我怎样才能解决这个问题 fieldnames = ["position","latitude","longitude"] with open("file1.csv", "rb") as csvinput: with open('file2.csv', 'wb') as csvoutput:

我的初始文件具有纬度和经度,我正在尝试添加一个列位置,以将纬度和经度保持在数组[x,y]中。下面的代码提供了一个csv文件,其中position存储字符串“[x,y]”,而不是数组[x,y]。我怎样才能解决这个问题

fieldnames = ["position","latitude","longitude"]

with open("file1.csv", "rb") as csvinput:
    with open('file2.csv', 'wb') as csvoutput:
         csvwriter = csv.DictWriter(csvoutput, fieldnames, delimiter=',')
         csvwriter.writeheader()
         for row in csv.DictReader(csvinput):
                 row['position'] = [float(row["latitude"]),float(row["longitude"])]
                 csvwriter.writerow(row)
正如您将在中看到的,CSV文件中存储的所有内容都是文本形式的,因此您需要编写所有代码以将数据转换为字符串,反之亦然


在这种特定情况下,还要注意,您尝试添加的数据已经包含逗号。因此,引用数据是为了防止该逗号被解释为另一列的分隔符。

CSV文件中的值周围有引号是正常的。如果不是字符串表示,您希望如何在CSV文件中存储“数组[x,y]”呢?谢谢!我知道为什么现在会这样。