python - 有没有办法修改字符串以删除小数?
问题描述
我有一个包含很多图像的文件。每个图像的名称如下:
- 100304.jpg
- 100305.jpg
- 100306.jpg
- ETC...
我还有一个电子表格,每张图片是一行,行中的第一个值是名称,名称后面的值是各种小数和0来描述每张图像的特征。
问题是,当我从工作表中提取名称时,会添加一个小数,这会导致文件无法通过 shutil.move()
import xlrd
import shutil
dataLocation = "C:/Users/User/Documents/Python/Project/sort_solutions_rev1.xlsx"
imageLocBase = "C:/Users/User/Documents/Python/Project/unsorted"
print("Specify which folder to put images in. Type the number only.")
print("1")
print("2")
print("3")
int(typeOfSet) = input("")
#Sorting for folder 1
if int(typeOfSet) == 1:
#Identifying what to move
name = str(sheet.cell(int(nameRow), 0).value)
sortDataStorage = (sheet.cell(int(nameRow), 8).value) #float
sortDataStorageNoFloat = str(sortDataStorage) #non-float
print("Proccessing: " + name)
print(name + " has a correlation of " + (sortDataStorageNoFloat))
#sorting for this folder utilizes the information in column 8)
if sortDataStorage >= sortAc:
print("test success")
folderPath = "C:/Users/User/Documents/Python/Project/Image Folder/Folder1"
shutil.move(imageLocBase + "/" + name, folderPath)
print(name + " has been sorted.")
else:
print(name + " does not meet correlation requirement. Moving to next image.")
我遇到的问题是 shutil.move(imageLocBase + "/" +name, folderPath) 出于某种原因,我的代码从电子表格中获取名称(例如:100304),然后添加一个“.0”所以当尝试要移动文件,它试图移动 100304.0(不存在)而不是 100304。
解决方案
用于pandas
读取您的 Excel 文件。
正如对原始问题的评论中所建议的,这里是一个如何使用pandas
读取 Excel 文件的快速示例,以及一个数据结构示例。
有任何问题,请随时喊叫,或查看文档。
import pandas as pd
# My path looks a little different as I'm on Linux.
path = '~/Desktop/so/MyImages.xlsx'
df = pd.read_excel(path)
数据结构
这完全是人为的,因为我没有您的实际文件的示例。
IMAGE_NAME FEATURE_1 FEATURE_2 FEATURE_3
0 100304.jpg 0.0111 0.111 1.111
1 100305.jpg 0.0222 0.222 2.222
2 100306.jpg 0.0333 0.333 3.333
希望这有助于您入门。
建议:
当您遇到小数(数据类型)问题时,Excel 喜欢认为它很聪明并且会做“意想不到的”事情。 也许考虑将您的图像数据存储在数据库 (SQLite) 中或作为普通的旧 CSV 文件。 熊猫也可以从其中任何一个中读取!:-)
推荐阅读
- php - 如何删除laravel中加入的重复结果
- python - ValueError: Argument must be a dense tensor...形状为 [80, 3, 8, 8],但想要 [80] 与 estimator.predict
- javascript - 无法下载节点模块?
- mongodb - MongoDB“空”或 NULL 日期
- reactjs - 使用类型化的 Props 连接组件
- python - 执行中出现此错误的原因是什么?
- python - 是否有用于种子白噪声的 python 函数?
- flutter - 在 Flutter 的底部表单中创建下拉菜单
- postgresql - pg_dump --clean 失败取决于 --format
- c++ - 银行模拟的无限循环