使用pandas导入csv文件并拆分生成的字符串

时间:2017-07-05 14:09:02

标签: python csv pandas import

我想在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]))

1 个答案:

答案 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)