4 回答

TA貢獻1829條經驗 獲得超7個贊
用于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 文件。 熊貓也可以從其中任何一個中讀??!:-)

TA貢獻1946條經驗 獲得超4個贊
splitOn = '.'
nameOfFile = text.split(splitOn, 1)[0]
應該管用
如果我們取您的文件名,例如 12345.0 并創建一個 var
name = "12345.0"
現在我們需要拆分這個變量。在這種情況下,我們希望拆分. 所以我們將此條件保存為第二個 var
splitOn = '.'
將 .split 用于 python。在這里,我們提供文本(變量名)和 python split 命令。所以讓它字面意思
12345.0
split at .
only make one split and save as two vars in a list
(so we have 12345 at position 0 (1st value)
and 0 at position 1 (2nd value) in a list)
save 1st var
(as all lists are 0 based we ask for [0]
(if you ever get confused with list, arrays etc just start counting
from 0 instead of one on your hands and then you know
ie position 0 1 2 3 4 = 1st value, 2nd value, 3rd value, 4th value, 5th value)
nameOfFile = name.split(splitOn, 1)[0]
12345.0 split ( split on . , only one split ) save position 0 ie first value
所以.....
name = 12345.0
splitOn = '.'
nameOfFile = name.split(splitOn, 1)[0]
yield(nameOfFile)
輸出將是
12345
我希望這有助于 https://www.geeksforgeeks.org/python-string-split/
或者
如下所示,轉換為浮動到 https://www.geeksforgeeks.org/type-conversion-python/
如果保存為浮點數
name 12345.0
newName = round(int(name))
這將使浮點數四舍五入(因為它的 0 將向下舍入)
或者如果 float 保存為字符串
print(int(float(name)))

TA貢獻1835條經驗 獲得超7個贊
如果總是在變量末尾添加“.0”,則需要以這種方式讀取 var_string“name”:
shutil.move(imageLocBase + "/" + name[:-2], folderPath)
字符串就像一個列表,我們可以選擇要讀取的元素。切片就是用這種方法
對不起我的英語不好。再見

TA貢獻1963條經驗 獲得超6個贊
顯然,您從電子表格中檢索的值被解析為浮點數,因此當您將其轉換為字符串時,它會保留小數部分。
您可以從字符串值中修剪“.0”,或者在轉換為字符串之前將其轉換為整數。
您還可以檢查電子表格的單元格格式并確保其設置為正常(idk 設置,但不是數字)。修復后,您的數據可能不再隨 .0 提供。
添加回答
舉報