这是我的第一个问题。
我尝试用Python加载数据文件。
文件demo.txt
与以下内容类似。
12,23,34.5,56,
78,29,33,
44,55,66,78,59,100
(文件中的行数不同,每行中的列数可能不同。我需要处理许多数据文件)
numpy.loadtxt("demo.txt",delimiter=",")
提供错误消息" could not convert string to float:
"。
要解决此问题,我尝试使用命令
sed -i -e 's/,\n/,/g' demo.txt
删除每行末尾的换行符,将所有行合并为一行。但它失败了。
但是,在VIM中,可以使用":s /,\ n /,/ g"删除换行符。
因此,我的问题是
是否可以在不修改文件的情况下在python中加载数据文件?
如果没有,我怎么能使用" sed"等命令。 (因为我需要将此命令放入我的脚本来处理一堆文件,需要一个shell命令,例如" sed")以删除每行末尾的换行符以将所有行合并为一个单线?如果没有所有行的换行符,我可以轻松地使用numpy.loadtxt读取数据。
致以最诚挚的问候,
以平
答案 0 :(得分:0)
使用tr -d '\n'
删除文件中的所有换行符:
$ echo -e "some\nfile\nwith\n\newlines" > file_with_newlines
$ cat file_with_newlines
some
file
with
ewlines
$ cat file_with_newlines | tr -d '\n' > file_without_newlines
$ cat file_without_newlines
somefilewithewlines$
我不知道这是否真的可以帮助您解决numpy
问题,但它会从文件中删除所有(UNIX)换行符。