[英]Coordinates output to csv file python
我目前正在做一个项目,我需要收集坐标并将其传输到 csv 文件。 我正在使用 k-means 算法来查找坐标(更大坐标集合的质心)。 output 是一个带坐标的列表。 起初我想简单地将它复制到 excel 文件中,但这并没有像我想要的那样工作。
这是我的代码:
df = pd.read_excel("centroid coordinaten excel lijst.xlsx")
df.head(n=16)
plt.scatter(df.X,df.Y)
km = KMeans(n_clusters=200)
print(km)
y_predict = km.fit_predict(df[['X','Y']])
print(y_predict)
df['cluster'] = y_predict
kmc = km.cluster_centers_
print(kmc)
#The output kmc is the list with coordinates and it looks like this:
[[ 4963621.73063468 52320928.30284858]
[ 4981357.33667335 52293627.08917835]
[ 4974134.37538941 52313274.21495327]
[ 4945992.84398977 52304446.43606138]
[ 4986701.53977273 52317701.43831169]
[ 4993362.9143898 52296985.49271403]
[ 4949408.06109325 52320541.97963558]
[ 4966756.82872596 52301871.5655048 ]
[ 4980845.77591313 52324669.94175716]
[ 4970904.14472671 52292401.47190146]]
有谁知道如何将“kmc”output 转换为 csv 文件。
提前致谢!
您可以执行以下操作:
with open(yourfile, "w") as f:
for line in kmc:
for data in line:
f.write(data + ",")
f.write("\n")
您可以使用csv
库,如下所示:
import csv
kmc = [
[4963621.73063468,52320928.30284858],
[4981357.33667335,52293627.08917835],
[4974134.37538941,52313274.21495327],
[4945992.84398977,52304446.43606138],
[4986701.53977273,52317701.43831169],
[4993362.9143898,52296985.49271403],
[4949408.06109325,52320541.97963558],
[4966756.82872596,52301871.5655048],
[4980845.77591313,52324669.94175716],
[4970904.14472671,52292401.47190146],
]
with open('output.csv', 'w', newline='') as f_output:
csv_output = csv.writer(f_output)
csv_output.writerow(['lat', 'long'])
csv_output.writerows(kmc)
给你output.csv
包含:
lat,long
4963621.73063468,52320928.30284858
4981357.33667335,52293627.08917835
4974134.37538941,52313274.21495327
4945992.84398977,52304446.43606138
4986701.53977273,52317701.43831169
4993362.9143898,52296985.49271403
4949408.06109325,52320541.97963558
4966756.82872596,52301871.5655048
4980845.77591313,52324669.94175716
4970904.14472671,52292401.47190146
我建议你把你的 output 文件的完整路径,以确保你有写权限。 或者按照建议,使用sudo
。 或者,您可以将以下内容添加到顶部:
import os
os.chdir(os.path.dirname(os.path.abspath(__file__)))
这可确保 output 与您的脚本位于同一文件夹中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.