我想在pandas中将此csv file读作DataFrame。然后我想从冒号中分割出结果字符串。
我使用导入:
df_r = pd.read_csv("report.csv", sep=";|,", engine="python")
然后使用:
拆分for c in df_r:
if df_r[c].dtype == "object":
df_r[c] = df_r[c].str.split(':')
但是我收到以下错误:
ValueError: could not convert string to float: '"\x001\x000\x00'
知道我做错了什么吗?
修改
当我尝试将其中一个字符串转换为float
时,实际显示错误print(float(df_r["Laptime"].iloc[0][2]))
答案 0 :(得分:1)
我运行了你的代码,一切正常。您可以尝试捕获错误并打印具有该奇怪行为的行并手动检查该行。
这是您正在使用的整个转储吗?我看到你正在将csv分配给变量error: no method named `extend` found for type `std::collections::hash_map::Entry<'_, std::string::String, std::vec::Vec<std::string::String>>` in the current scope
--> src/main.rs:27:14
|
27 | .extend(vec![employee.to_string()])
| ^^^^^^
并在之后使用a
,所以我认为你正在做其他事情。
如果csv文件已完成,请注意最后一行为空并创建一行满NaN。您想要使用df_r
读取csv。
skipfooter=1
修改强>:
您可以将其转换为浮动,如下所示:
a = pd.read_csv('report.csv', sep=";|,", engine="python", skipfooter=1)