如何在Python中自动读取具有混合data_types的文本文件?

时间:2016-04-19 07:30:14

标签: python csv numpy automation

我在不同的列中有多个混合数据类型的文本文件, 我想阅读它们,以便程序识别每个列类型自动,因为我不知道哪个列包含哪种类型。

当我只读取数字数据时,我使用了以下内容,但它对于混合数据类型失败了。

Import numpy as np
Import csv
train = np.array(list(csv.reader(open(self.source_data_file, "rb"), delimiter=','))).astype('float')

1 个答案:

答案 0 :(得分:4)

在这里查看numpy.genfromtxthttp://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.genfromtxt.html

您可以通过指定分隔符和dtype直接读取文件。 假设你在csv中有一行如下:

10,120.3,xfghfh

您可以执行以下操作:

data = np.genfromtxt('input_file', dtype=None , delimiter=",")
print (data)

会给你这个:

data = array((10, 120.3, 'xfghfh'), 
       dtype=[('column_name1', '<i4'), ('column_name2', '<f8'), ('column_name3', 'S6')])