将数字从巨大的文本文件导入python数组

时间:2019-02-19 13:57:46

标签: python

我有一个文件,该文件的文本文件中有大量(600万个)值排成一行。 readlines()以字符串的形式读取值,而loadtxt()则说could not convert string to float: b'0,000'

我的数据这样排列

0,000
0,000
6,404
.
.
.
6,725
6,257
5,977

如何使用这些值创建数组?

2 个答案:

答案 0 :(得分:0)

由于逗号,最好的选择是导入字符串,然后在删除逗号后转换为数字数据。

您需要将以下内容应用于整个列表:

    str.strip(',')

其中'str'被替换为字符串的变量。如果您已将列表阅读到列表中,则需要列表理解;如果它在Pandas数据框中,则需要一个lambda函数,或者是for循环。

列表理解示例:

    new_list = [x.strip(',') for x in old_list]

答案 1 :(得分:0)

numpy的进口商通常希望使用句点作为小数点的数据。在导入之前,将文件中的所有,替换为.,或者尝试使用熊猫函数(可以在其中设置小数点):

import pandas as pd 
pd.read_table(filename, decimal=',')