python - .replace 在 for 循环中被跳过
问题描述
我想将.data
文件转换为.csv
文件,因此我正在读取.data
文件,替换一些字符和字符串,以便.csv
文件应该可以用numpy.loadtxt
. 不幸的是,这两行:
line = line.replace("yes", "1")
line = line.replace("no", "0")
被跳过。所以该.loadtxt
功能将不起作用。我试图改变替换的字符,一切都没有成功。如果有人可以帮助我,那就太好了。这是完整的代码:
import numpy as np
fString = open("diagnosis.data", "r")
fFloat = open("diagnosis.csv", "w")
for line in fString:
line = line.replace(",", ".")
line = line.replace("\t", ",")
line = line.replace("yes", ",1")
line = line.replace("no", "0")
line = line.replace("\r\n", "\n")
fFloat.write(line)
fString.close()
fFloat.close()
fFloat = open("diagnosis.csv","r")
dataset = np.loadtxt(fFloat, delimiter=",")
fFloat.close()
数据集可以在这里找到
解决方案
可能出错的一件事是您的行引用没有重写 fString。你可以尝试更接近这种语法的东西吗?这实际上将修改 fString 而不仅仅是 line 变量。
for line in range(fString):
fString[line] = fString[line].replace(",", ".")
推荐阅读
- c# - 控制台程序在代码完成之前无缘无故关闭
- php - 如何在 laravel 框架中使用数组和 json 对象?
- excel - 如何粘贴到右边的下一个空单元格?
- python - 如何将变量的全部数据写入 .csv 文件?
- javascript - 启动 Meteor 应用程序时出错 + react (static-html)
- html - 如何在不移动其他所有内容的情况下移动文本?
- javascript - Node.js - 在“连接”事件中区分服务器连接和断开连接
- python - 缺少潜在参数时出错。Python、烧瓶、Graphql
- python - Python3 - 如何判断在重载 __truediv__ 时是否应该使用 __idiv__ 或 __div__ 行为?
- csrf - 我的 CSRF PoC 不起作用,csrf 的请求得到 302 错误!!谁能帮我