0

私はPythonが初めてで、処理中のcsvでnullをチェックしようとしています。キーペア値を持つ DictReader オブジェクトを使用しています。for ループでキー ペアの値を使用して、情報 (この例では kml) を出力しています。

プログラムを実行しようとしましたが、変数の割り当てが気に入りません。これが私が受け取っているエラーです。

File "./csvtokml3.py", line 31
    Latvariable = str(row["lat_degrees"]),Longvariable = str(row["lon_degrees"])
SyntaxError: can't assign to function call

これがプログラムのコードです。

#!/usr/bin/python


#
#
#

import csv

#Input the file name.
fname = raw_input("Enter file name WITHOUT extension: ")

data = csv.DictReader(open(fname + '.csv'), delimiter = ',')

#Open the file to be written.
f = open('csv2kml.kml', 'w')

#Writing the kml file.
f.write("<?xml version='1.0' encoding='UTF-8'?>\n")
f.write("<kml xmlns='http://www.opengis.net/kml/2.'>\n")
f.write("<Document>\n")
f.write("   <name>" + fname + '.kml' +"</name>\n")

for row in data:

    f.write("   <Placemark>\n")
    f.write("       <name>" + str(row["station"]) + "</name>\n")
    ### f.write("       <description>" + str(row[0]) + "</description>\n")
    f.write("       <Point>\n")
    #Check for nulls for lat and long
    Latvariable = str(row["lat_degrees"]),  Longvariable = str(row["lon_degrees"])
    if Latvariable !=null and Longvariable !=null:
        f.write("           <coordinates>" + str(row["lat_degrees"]) + "," + str(row["lon_degrees"]) + "</coordinates>\n")
    f.write("       </Point>\n")
    f.write("   </Placemark>\n")

f.write("</Document>\n")
f.write("</kml>\n")
f.close()

print "File Created. "
print "Press ENTER to exit. "
raw_input()
4

1 に答える 1

0

構文が正しくありません。

Latvariable, Longvariable = str(row["lat_degrees"]), str(row["lon_degrees"])

代わりに、複数の値を複数の名前に割り当てます。または、2 つのステートメントを別々の行に入れます。

Latvariable = str(row["lat_degrees"])
Longvariable = str(row["lon_degrees"])

試したように、複数の割り当てステートメントをコンマで結合することはできません。これは JavaScript では機能しますが、Python では機能しません。

于 2013-06-20T18:17:36.697 に答える