如何在Python中读取一个.data文件
在这篇文章中,我们将学习什么是.data文件以及如何在python中读取.data文件。
什么是 .data 文件
.data文件是为了存储信息/数据而创建的。
这种格式的数据经常以逗号分隔的值格式或以制表符分隔的值格式放置。
除此之外,该文件可能是二进制或文本文件格式。在这种情况下,我们就必须找到另一种方法来访问它。
在本教程中,我们将使用 .csv文件, 但首先,我们必须确定该文件的内容是文本还是二进制。
识别.data文件中的数据
.data文件 有两种格式,文件本身可以是文本或二进制。
我们必须把它加载起来,自己测试一下,才能知道它属于哪一种。
读取.data文本文件
.data 文件一般是文本文件,用 Python 读取文件很简单。
因为文件处理是作为 Python 的一个特性预先建立的,我们不需要导入任何模块来处理它。
也就是说,下面是在Python中打开、读取和写入文件的方法:
算法 (步骤)
以下是执行所需任务时需要遵循的算法/步骤。-
- 再次使用open()函数以写模式打开.data文件,将文件名和模式’ w’ 作为参数传递给它。如果指定的文件不存在,它将以给定的名称创建一个文件,并以写模式打开它。
-
使用 write() 函数将一些随机数据写入文件中。
-
在向文件中写入数据后,使用 close()函数 来关闭该文件。
-
使用 open() 函数(打开一个文件并返回一个文件对象作为结果),通过传递文件名和模式’r’作为参数,以只读模式打开.data文件。
-
使用 read() 函数(从文件中读取指定数量的字节并返回。默认值是-1,这意味着整个文件)来读取文件的数据,并将其打印出来。
-
使用 close()函数 在从文件中读取数据后关闭该文件。
例子
下面的程序显示了如何在Python中读取一个文本.data文件 —
# opening the .data file in write mode
datafile = open("tutorialspoint.data", "w")
# writing data into the file
datafile.write("Hello Everyone this is tutorialsPoint!!!")
# closing the file
datafile.close()
# opening the .data file in read-only mode
datafile = open("tutorialspoint.data", "r")
# reading the data of the file and printing it
print('The content in the file is:')
print(datafile.read())
# closing the file
datafile.close()
输出
The content in the file is:
Hello Everyone this is tutorialsPoint!!!
读取.data二进制文件
.data文件 也可能是二进制文件的形式。这意味着我们必须改变访问该文件的方法。
我们将以二进制模式对文件进行读写;在这种情况下,模式是rb,即读二进制。
既然如此,下面是在Python中打开、读取和写入文件的方法:
算法 (步骤)
以下是执行所需任务时需要遵循的算法/步骤。-
- 再次使用open()函数,通过传递相同的文件名和模式’ wb’ 作为参数,以写二进制模式打开.data文件。如果指定的文件不存在,它将以给定的名称创建一个文件,并以写二进制模式打开它。
-
当我们写到二进制文件时,我们必须将数据从文本转换为二进制格式,我们可以用 encode() 函数 来做(Python 中的 encode() 方法负责返回任何提供的文本的编码形式。为了有效地存储这样的字符串,代码点被转换为一系列的字节。这就是所谓的编码。Python的默认编码是utf-8)。
-
使用 write() 函数将上述编码后的数据写进文件。
-
在把二进制数据写进文件后,使用 close() 函数 关闭文件。
-
使用 open() 函数(打开一个文件并返回一个文件对象作为结果),通过传递文件名和模式’rb’作为参数,以读二进制模式打开.data文件。
-
使用 read() 函数(从文件中读取指定数量的字节并返回。默认值是-1,这意味着整个文件)来读取文件的数据并打印。
-
在从文件中读取二进制数据后,使用 close()函数 来关闭该文件。
例子
下面的程序显示了如何在Python中读取一个二进制.data文件
# opening the .data file in write-binary mode
datafile = open("tutorialspoint.data", "wb")
# writing data in encoded format into the file
datafile.write("Hello Everyone this is tutorialspoint!!!".encode())
# closing the file
datafile.close()
# opening the .data file in read-binary mode
datafile = open("tutorialspoint.data", "rb")
# reading the data of the binary .data file and printing it
print('The content in the file is:')
print(datafile.read())
# closing the file
datafile.close()
输出
The content in the file is:
b'Hello Everyone this is tutorialspoint!!!'
Python 中的文件操作相当简单易懂,如果你想了解各种文件访问模式和方法,是值得探索的。
这两种方式中的任何一种都应该可以工作,并为你提供一种方法来获得有关 .data 文件 的内容的信息。
现在我们可以使用pandas为CSV文件创建一个DataFrame,因为我们知道它是什么格式的。
总结
在这篇文章中,我们了解了什么是.data文件以及哪些类型的数据可以保存在.data文件中。使用open()和read()函数,我们学会了如何读取几种类型的.data文件,如文本文件和二进制文件。我们还学习了如何使用encode()函数将一个字符串转换为字节数。