将数据保存为* .dat文件?

时间:2017-10-31 14:42:29

标签: python database save

我正在用Python编写一个程序,它应该导入*.dat个文件,从某些列中减去一个特定值,然后将文件以*.dat格式保存在不同的目录中。

我目前的策略是将数据文件加载到numpy数组中,执行计算然后保存。我被困在保存部分。我不知道如何以*.dat格式在python中保存文件。谁能帮我?或者是否有另一种方法而无需将*.dat文件作为numpy数组导入?非常感谢!

5 个答案:

答案 0 :(得分:2)

假设您的文件看起来像

file = open(filename, "r")

您需要做的就是打开另一个文件,其中“w”作为第二个参数

file = open(new_file-path,"w")
file.write(data)
file.close()

如果您的数据不是字符串,请将其设为字符串,或使用

file = open(filename, "rb")
file = open(filename, "wb")

读写时,因为这些读写原始字节

答案 1 :(得分:1)

您可以使用struct以字节格式打包整数并将其写入dat文件。

import struct

data = [# your data]

打开:

with open('your_data.dat', 'rb') as your_data_file:
    values = struct.unpack('i'*len(data), your_data_file.read())

保存数据:

with open('your_data.dat', 'wb') as your_dat_file:  
    your_dat_file.write(struct.pack('i'*len(data), *data))

Reference.

答案 2 :(得分:1)

您可以使用pandas读取和导出.dat文件:

import pandas as pd
input_df = pd.read_table('input_file_name.dat')  
...  
output_df = pd.DataFrame({'column_name': column_values})  
output_df.to_csv('output_file_name.dat')

答案 3 :(得分:0)

可以使用pandas库读取.dat文件:

df = pd.read_csv('xxxx.dat', sep='\s+', header=None, skiprows=1)

skiprows=1将忽略第一行,即标题。

\s+是.dat文件的分隔(默认)。

答案 4 :(得分:0)

如果我错了,请纠正我,但是打开,写入并随后关闭文件应该算作"保存"它。您可以通过运行导入脚本并比较上次修改日期来自行测试。