Python 读取CSV,使用pyproj转换更改2列并保存为新CSV

Python 读取CSV,使用pyproj转换更改2列并保存为新CSV,python,csv,latitude-longitude,transformer,pyproj,Python,Csv,Latitude Longitude,Transformer,Pyproj,我对Python非常陌生,因此为我不理解而道歉 我需要读取4列CSV文件中的2列(纬度和经度)。 下面的示例。 ShopName杂项经纬度 XXX 3 9999999999 然后,我必须使用我已经检查过的pyproj变换scrypt更改纬度和经度。然后,我需要将转换后的纬度和经度数据保存到新的csv中,以便列格式与现有的csv相同。 下面的示例。 ShopName杂项经纬度 XXX 3 49.12124-2.32131 我有点迷路了,但这就是我要做的。先谢谢你 import csv from p

我对Python非常陌生,因此为我不理解而道歉

我需要读取4列CSV文件中的2列(纬度和经度)。 下面的示例。

ShopName杂项经纬度 XXX 3 9999999999

然后,我必须使用我已经检查过的pyproj变换scrypt更改纬度和经度。然后,我需要将转换后的纬度和经度数据保存到新的csv中,以便列格式与现有的csv相同。 下面的示例。

ShopName杂项经纬度 XXX 3 49.12124-2.32131

我有点迷路了,但这就是我要做的。先谢谢你

import csv
from pyproj import Transformer

#2.2 Define function
def transformer = Transformer.from_crs("epsg:12345", "epsg:9999")
    result = transformer.transform(old_longitude, old_latitude)
    return new_longitude, new latitude

#2.3 Set destination file to variable
with open('new.csv' ,'w') as csv_new2:

#2.4 Instruct write method to new file    
    fileWriter2 = csv.writer(csv_new2)
    
#2.5 Set existing file to variable
    with open('old.csv','r') as csv_old2:

#2.6 Instruct read method to new file
        fileReader2 = csv.reader(csv_old2)

        for row in fileReader2:

这里有一些选项供您选择

熊猫+pyproj:

geopandas:

来自pyproj导入转换器
进口大熊猫
pdf=pandas.read_csv(“old.csv”)
transformer=transformer.from_crs(“epsg:12345”,“epsg:9999”,始终为_xy=True)
xx,yy=trans.transform(pdf[“经度”]值,pdf[“纬度”]值)
pdf=pdf.assign(经度=xx,纬度=yy)
pdf.to_csv(“new.csv”)

谢谢您的帮助。您的代码包括“…trans.transformer…”我需要将其修改为“…transformer.transform…”以使其正常工作。我还想知道,一些CSV数据是空白的,当我运行脚本时,它将“inf”添加到空单元格中。有没有办法让它不添加任何内容?这听起来像是一个单独的问题。我建议你根据目前的进展提出一个新问题。谢谢你的帮助。