gpt4 book ai didi

python打开文本文件,每个字符之间有一个空格

转载 作者:IT老高 更新时间:2023-10-28 21:11:15 27 4
gpt4 key购买 nike

每当我尝试使用 python 命令打开一个 .csv 文件时fread = open('input.csv', 'r')它总是以每个字符之间的空格打开文件。我猜是文本文件有问题,因为我可以使用相同的命令打开其他文本文件并且它们已正确加载。有谁知道为什么一个文本文件会在 python 中这样加载?

谢谢。

更新

好的,我在 Jarret Hardie 的帖子的帮助下得到了它

这是我用来将文件转换为 ascii 的代码

fread = open('input.csv', 'rb').read()
mytext = fread.decode('utf-16')
mytext = mytext.encode('ascii', 'ignore')
fwrite = open('input-ascii.csv', 'wb')
fwrite.write(mytext)

谢谢!

最佳答案

递归的帖子可能是正确的......文件的内容可能是用多字节字符集编码的。实际上,如果是这种情况,您可以在 python 本身中读取文件,而无需先在 python 之外对其进行转换。

尝试类似:

fread = open('input.csv', 'rb').read()
mytext = fread.decode('utf-16')

“b”标志确保文件被读取为二进制数据。您需要知道(或猜测)原始编码......在这个例子中,我使用了 utf-16,但是 YMMV。这会将文件转换为 unicode。如果您确实有一个包含多字节字符的文件,我不建议将其转换为 ascii,因为您最终可能会在此过程中丢失很多字符。

编辑:感谢您上传文件。文件前面有两个字节,表明它确实使用了宽字符集。如果您好奇,请按照一些人的建议在十六进制编辑器中打开文件……您会在文本版本中看到一些内容,例如“I.D.|。” (ETC)。点是每个字符的额外字节。

上面的代码片段似乎可以在我的机器上使用该文件。

关于python打开文本文件,每个字符之间有一个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/603115/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com