我將使用 Selenium 從 Internet 掃描的表格列印到 Excel。但是,此表包含諸如“15,300”之類的值。我想將這些值列印為“15,300”或“15.3”,并將通常為“1.022”的單元格更改為“1022”。我每 5 分鐘添加一次時間表。
簡而言之,我想從虛線值中洗掉點,并將逗號轉換為點。
我把整張桌子當作一個班級,然后把它分成幾部分。這是我的代碼:(不幸的是,由于是公司資料,我只能分享一部分。)
driver.get(urlTarget)
a=driver.find_element_by_class_name("dataTable").text
#print(a)
x = a.split('\n')
x[0] = "Mak.No. AEF% SEF% DAS% YLW% YF/Y MIS% RTI% NDOF PRKG(kg) DOF% NCOP YEF% YEF-A% YEF-B% FBE% FBE-A% FBE-B% SBE% SBE-A% SBE-B% NCTB NT/T"
for i in range (len(x)-1):
if i != 0:
x[i]=x[i 1]
#print(x)
workbook = xlsxwriter.Workbook('C:/Users/...xxx.xlsx')
worksheet = workbook.add_worksheet()
在上面的代碼中,我洗掉了列名和要洗掉的位置。實際程序將通過的地方在下面的代碼中。
row = 0
column = 0
b=x[:(len(x)-1)]
for i in b:
c=i.split()
column=0
for item in c :
worksheet.write(row, column, item)
column =1
row = 1
workbook.close()
這會將表格寫入 Excel。但我需要改變。當我item=item.str.replace(',','.')在for回圈中使用時,它會回傳'str'物件沒有屬性'str'的錯誤。
uj5u.com熱心網友回復:
首先將數字轉換為字串,如果它已經是字串,則不要使用“.str”
item = item.replace(',','.')
或者
item = str(item).replace(',','.')
uj5u.com熱心網友回復:
我相信你在這里走錯了路:你正在處理的點和逗號是小數和千位分隔符。為了使用它們,您可以更改單元格的格式,如下面的對話框中所示的一個特定單元格:

還有您的 Windows 計算機的區域設定:

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/494488.html
