我必须将文本文件读入Python.文件编码是:
file -bi test.csv
text/plain; charset=us-ascii
Run Code Online (Sandbox Code Playgroud)
这是第三方文件,我每天都会得到一个新文件,所以我宁愿不改变它.该文件具有非ascii字符,例如Ö.我需要使用python读取行,并且我可以忽略具有非ascii字符的行.
我的问题是,当我在Python中读取文件时,在到达存在非ascii字符的行时,我得到UnicodeDecodeError,而我无法读取文件的其余部分.
有没有办法避免这种情况.如果我试试这个:
fileHandle = codecs.open("test.csv", encoding='utf-8');
try:
for line in companiesFile:
print(line, end="");
except UnicodeDecodeError:
pass;
Run Code Online (Sandbox Code Playgroud)
然后当达到错误时,for循环结束,我无法读取文件的剩余部分.我想跳过导致错误的行并继续.如果可能的话,我宁愿不对输入文件进行任何更改.
有没有办法做到这一点?非常感谢你.
我有成千上万的XLSB文件(二进制excel文件).我在Ubuntu上,需要将它们全部转换为CSV.每个文件都有很多宏和标签,但是,所有这些内容都可以忽略,因为每个文件我只需要第一个标签中的数据.
有没有办法通过命令行来做?
我的问题很简单.我想使用printf打印具有指定数量的前导零的整数.但是,前导零的数量是由运行时决定的,而不是先验的.我怎么能这样做?
如果我知道字符的数量(比方说5),那就是
printf("%05d", number);
Run Code Online (Sandbox Code Playgroud)
但我不知道它是否会是5.