我有一个.dat文件,正在尝试将其转换为csv文件。 我发现一段代码“以某种方式”解决了我的问题。 关键是:这样的代码给了我一个混乱的输出文件。换句话说:它改变了我的价值观!!!!
有人可以帮助我吗? 我是这个的初学者。
非常感谢。
with open('f.dat') as input_file:
lines = input_file.readlines()
newLines = []
for line in lines:
newLines.append(newLine)
with open('f_out.csv','w') as output_file:
file_writer = csv.writer(output_file)
file_writer.writerows(newLines)
我的输入文件如下:
"-18.7723311308 3166157043.25795 0 1006743187.3562
-18.8214122765 188717303.231381 0 57141624.5127759
-18.7022205742 399933910.540253 0 87142384.8698447
-18.5903166748 23045528.3797531 0 5841919.83133624
-18.3051499783 76457482.0309581 0 25326122.2381197"
(with more lines)
输出文件如下:
-21.5607314306,1200000000.0,0,500000000.0,MBH
-21.5607314306,1200000000.0,0,500000000.0,MBH
-21.5607314306,1200000000.0,0,500000000.0,MBH
我只想要一个输出文件,其中的列用逗号分隔,例如:
"-18.7723311308, 3166157043.25795, 0, 1006743187.3562
-18.8214122765, 188717303.231381, 0 ,57141624.5127759"
答案 0 :(得分:0)
.dat文件使用文件io操作可读性不强 您可以使用asammdf模块读取.dat文件。 点安装asammdf
答案 1 :(得分:0)
有一个名为pandas的模块,可以轻松地将列表转换为csv文件。尝试使用此代码即可。
import pandas as pd
with open('f.dat') as input_file:
lines = input_file.readlines()
newLines = []
for line in lines:
newLines.append(line)
pd.DataFrame(newLines).to_csv('f_out.csv')
答案 2 :(得分:0)
在 asammdf 上下文中的.dat文件使用文件io操作可读性不强,可以使用asammdf模块读取.dat文件。使用pip install asammdf
.dat文件是通常用于汽车领域的Measurement Data File v2或v3。我认为OP没有这种文件