from PIL import Image imload = Image.open(r'C:\Users\Administrator\Desktop\测试\test.jpg') im = imload.convert("RGB") width, height = im.size demo = open('rgd.txt', 'a') for y in range(height): for x in range(width): rgd = im.getpixel((x, y)) rgd = str(rgd) demo.write(rgd[1:-1]+"\t") demo.write("\n") demo.close() 返回的TXT在Excel中打开为一行如何解决
时间: 2023-11-27 11:52:49 浏览: 59
PIL.Image.open和cv2.imread的比较与相互转换的方法
5星 · 资源好评率100%
你可以在写入文件时,每次写入一个像素的 RGB 值后,不写入换行符,而是写入一个制表符 '\t'。然后在每行末尾写入一个换行符 '\n',这样就可以保证每个像素的 RGB 值都被正确地写入到一个单元格中了。
修改后的代码如下:
```python
from PIL import Image
imload = Image.open(r'C:\Users\Administrator\Desktop\测试\test.jpg')
im = imload.convert("RGB")
width, height = im.size
with open('rgd.txt', 'a') as demo:
for y in range(height):
for x in range(width):
rgd = im.getpixel((x, y))
rgd = str(rgd)
demo.write(rgd[1:-1] + "\t")
demo.write("\n")
```
这里使用了 `with open()` 语句来打开文件,以确保文件在使用完毕后能够被正确关闭。同时,我们还将文件写入操作放在了 `with open()` 语句内部,这样可以在写入完成后自动关闭文件。
阅读全文