ValueError:无法将字符串“date”转换为第0行第1列的float64。
解决办法:
通过以下代码检查自己的数据,查找问题,逐一改正。
import csv
def find_blank_or_invalid_cells(file_path):
blank_cells = []
invalid_cells = []
with open(file_path, 'r', newline='', encoding='utf-8') as csvfile:
reader = csv.reader(csvfile)
for index, row in enumerate(reader):
for column, cell in enumerate(row):
if cell.strip() == '':
blank_cells.append((index, column))
elif not cell.replace('.', '').isdigit():
invalid_cells.append((index, column))
return blank_cells, invalid_cells
# 给定csv文件路径
file_path = './data.csv'
# 查找空白单元格和无效字符串单元格
blank_cells, invalid_cells = find_blank_or_invalid_cells(file_path)
# 打印结果
print("空白单元格位置:", blank_cells)
print("无效字符串位置:", invalid_cells)
运行结果发现数据第一列有问题,经检查发现第一列是日期,不是数值形式,进行修改。(因为我的不需要日期,所以直接把第一列删去了,大家根据自己情况修改。)
修改后:感谢博主的解答