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 19:52:49 浏览: 29
你可以在写入文件时,每次写入一个像素的 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()` 语句内部,这样可以在写入完成后自动关闭文件。
相关问题
from pil import Image imload = Image.OPEN(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.getpixsl(x,y) rgd=str(rgd) demo.write("\n") demo.close
这段代码有一些语法错误和拼写错误,应该是这样的:
```python
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 + "\n")
demo.close()
```
这段代码的作用是读取指定路径下的一张图片,将图片中每个像素的 RGB 值写入到一个名为 rgd.txt 的文本文件中。需要注意几点:
- PIL 库的模块名称为 PIL,而不是 pil;
- Image.open() 方法的参数应该是一个字符串,需要使用引号将其包围;
- getpixel() 方法的参数应该是一个元组,需要使用圆括号将其包围;
- 写入文件时需要使用字符串拼接符号 + 将 RGB 值和换行符连接起来。
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() 检查错误
你的代码存在两个问题:
1. 在导入PIL库时,你需要在import语句后加上一个空格。正确的导入语句应该是:`from PIL import Image`
2. 在将RGB值写入文件时,你的代码将每个RGB值用逗号隔开,而不是制表符。因此,你需要将`demo.write(rgd[1:-1] + ",")`改为`demo.write(rgd[1:-1] + "\t")`。
以下是修改后的代码:
```
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()
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)