📜  loadTxt 而不是读取 csv (1)

📅  最后修改于: 2023-12-03 15:32:43.971000             🧑  作者: Mango

loadTxt 而不是读取 csv

读取数据是数据分析的重要一步。常见的数据文件格式有 csv、Excel、JSON 等。然而在处理大数据时,csv 可能会显得无能为力,因为 csv 文件中的数据是以逗号分隔存储的,每行数据较长时可能会占用大量的内存。而且 csv 在遇到含有逗号的数据时,会出现读取错误的情况。因此,将数据存储为 txt 文件,可以有效避免这些问题。

在 Python3 中,读取 txt 文件可以使用 open() 语句。然而,我们需要手动处理数据,进行分割等操作。这样的过程往往会比较繁琐,尤其是当出现换行、逗号等特殊符号时,更为复杂。

在这种情况下,可以使用 Pandas 库中的 read_csv() 函数。这个函数可以解析 txt 文件的内容,将其转换为 DataFrame 的数据结构,方便我们进行数据分析。同时,Pandas 还可以进行数据缺失值的处理、数据过滤等操作。

以下是使用 Pandas 读取 txt 文件的代码片段:

import pandas as pd

df = pd.read_csv('test.txt', sep='\t', encoding='utf-8')

以上代码中,我们使用了 read_csv() 函数来读取 txt 文件。参数 sep 表示分隔符,这里使用 \t 即表示每行数据以制表符分隔;encoding 则表示编码方式,因为 txt 文件可能使用不同的编码方式存储,这里指定为 utf-8。

然而,如果 txt 文件没有特殊的分隔符,read_csv() 函数可能无法正确地解析数据。这时,我们就可以使用 loadtxt() 函数进行读取。

以下是使用 loadtxt() 函数读取 txt 文件的代码片段:

import numpy as np

data = np.loadtxt('test.txt', delimiter=',', skiprows=1, dtype=str)

以上代码中,我们使用了 loadtxt() 函数来读取存储数据的 txt 文件。参数 delimiter 表示数据分隔符,这里使用 ,skiprows 则表示要跳过的行数,因为数据文件可能有一些无关的信息;dtype 表示数据类型,这里指定为字符串类型。最终读取到的数据会以 numpy 数组的形式返回。

总之,Pandas 是读取数据的利器,但在处理数据量过大或数据文件格式复杂的情况下,Numpy 的 loadtxt() 函数也是不可或缺的。选择适合自己需求的读取方法,才能更加高效地进行数据分析。