python - 如何在csv文件中写入结果?
问题描述
我创建了一个脚本,为每个特定的仪表重新调整路径坐标。但是我无法将结果保存在 CSV 文件中。首先,我只是从 cmd 运行脚本并将其存储在 txt 文件中,然后转换为 CSV 文件,但是当我想在另一个脚本中读取此结果时,这种方法不起作用我有一个错误:
'utf-8' codec can't decode byte 0xf1 in position 42: invalid continuation byte
然后我尝试在脚本中将其写入 CSV 文件,但我收到空的 CSV 文件。如何将结果保存在 CSV 文件中,而不是在 python 中将其作为数据框读取而不会出错?
我的代码如下:
file = 'river_km_true_086_100_reference_trajectory.csv'
df = pd.read_csv(file, sep = ";")
f = open("new_coord.csv","w")
f.write("lon; lat\n")
f.close()
start_value = 0
stop_value = 1392 # Can be changed this value
step = 0.05 # in kilometers
for distance in np.arange(start_value, stop_value, step):
try:
x, y = getCoordinatesAt(distance)
print("distance, x, y: ", distance, x, y)
f.write(str(x) + ";" + str(y) + "\n")
except:
print("no value for distance ", distance)
解决方案
我不确定您在这里尝试做什么,但假设您使用脚本在命令行上获得正确的输出,以下可能对您有用
import csv
file = 'river_km_true_086_100_reference_trajectory.csv'
df = pd.read_csv(file, sep = ";")
start_value = 0
stop_value = 1392 # Can be changed this value
step = 0.05 # in kilometers
with open('new_coord.csv', 'wb') as csvfile:
mywriter = csv.writer(csvfile)
mywriter.writerow(["lon","lat"])
for distance in np.arange(start_value, stop_value, step):
try:
x, y = getCoordinatesAt(distance)
print("distance, x, y: ", distance, x, y)
mywriter.writerow([str(x),str(y)])
except:
print("no value for distance ", distance)
推荐阅读
- gdb - GDB 调试核心转储。找不到局部变量
- mysql - 在heroku上运行时找不到模块“mysql”
- python - Python异步函数调用?
- scale - MP4 在飞利浦电视上拉伸并失去比例
- css - 在 Bootstrap 4 下拉菜单中更改插入符号的起始方向
- reactjs - 如何为我的主页路径“/”添加自定义导航栏,因为它嵌套在我的 MainLayout 中?
- node.js - Cheerio如何获取一个元素的标签名称
- python - 如何使用 pyplot 从 Pandas DataFrame 中绘制间隔?
- ajax - 被 CORS 政策 ionic 阻止到 laravel
- xamarin.forms - 在类型中找不到具有正确签名的按钮