我尝试通过Python对2个Excel进行合并和求和,但是当我使用“for循环”时,我发现了一个错误“+的操作数类型不受支持:'float'和'str'”
请参阅下面的代码:
import pandas as pd
import os
os.getcwd() + '/projects'
all_bit = os.listdir(os.getcwd() + '/projects/Python_excel/Test_files')
#Read Excel Bitcoin 1
bitcoin1 = pd.read_excel(os.getcwd() + '/projects/Python_excel/Test_files/' + all_bit[0])
#Check file
all_bit[0]
#Change data types
bitcoin1["Latest"] = bitcoin1["Latest"].astype(int)
bitcoin1["Open"] = bitcoin1["Open"].astype(int)
bitcoin1["Highest"] = bitcoin1["Highest"].astype(int)
bitcoin1["Lowest"] = bitcoin1["Lowest"].astype(int)
#Drop unnecessary column
bitcoin1 = bitcoin1.drop(['%Change','Amount'], axis = 1, inplace = False)
#Read Excel Bitcoin 2
bitcoin2 = pd.read_excel(os.getcwd() + '/projects/Python_excel/Test_files/' + all_bit[1])
#Change data types
bitcoin2["Latest"] = bitcoin2["Latest"].astype(int)
bitcoin2["Open"] = bitcoin2["Open"].astype(int)
bitcoin2["Highest"] = bitcoin2["Highest"].astype(int)
bitcoin2["Lowest"] = bitcoin2["Lowest"].astype(int)
#Drop unnecessary column
bitcoin2 = bitcoin2.drop(['%Change','Amount'], axis = 1, inplace = False)
#Loop
rep = pd.DataFrame()
for bitcoin in all_bit:
data_bit = pd.read_excel(os.getcwd() + '/projects/Python_excel/Test_files/' + bitcoin)
rep = rep.add(data_bit.set_index('Date'),fill_value=0)
完成 for 循环后,它显示“TypeError: unsupported operand type(s) for +: 'float' and 'str'”。我尝试将 float 更改为 int 但它不起作用。
你们能给我建议吗?
谢谢你
要修复此错误,您需要确保在兼容的数据类型之间执行操作。如果您打算将浮点值与字符串值连接起来,则需要先将浮点值转换为字符串,然后再将它们连接在一起
以下是将浮点数转换为字符串来修复错误的方法:
number = 10.5
text = "20"
result = str(number) + text
print(result)
在代码中查找触发错误的行并应用正确的转换。