首页 > 解决方案 > python 2.7中的CSV读取

问题描述

我为读取 csv 编写了该代码,但现在我遇到了这个问题:

ValueError:float() 的无效文字:4.000E+00;3.125E-07;-7.854E-13

这是我的代码:

import numpy as np
import matplotlib.pyplot as plt

def read_datafile(file_name):
    data = np.loadtxt(file_name, delimiter=' ')
    return data

for r in range(0,25,1):
    data = read_datafile("S:\Dok\Python\Data\Codes\Model2\Mod{}.csv".format(r))

    x = data[:,0]
    y = data[:,1]
    z = data[:,2]

    degree = u"\u00b0"

    fig = plt.figure(1)
    plt.title("Model {}".format(r) + degree)
    plt.plot(x, abs(y + 1j * z), color='k')
    plt.show()

我的文件如下所示:

在此处输入图像描述

标签: python-2.7csv

解决方案


你有np.loadtxt(file_name, delimiter=' '),但根据你的错误:

ValueError: invalid literal for float(): 4.000E+00;3.125E-07;-7.854E-13,

...它是用分号分隔的。

正因为如此,您将立即获得整条线路,并且转换失败。如果您更改为delimiter=';',它应该可以工作。


推荐阅读