我想从二进制文件读取浮点值并将它们写入csv文件,这几乎与下面的代码一起使用。问题是struct.unpack正在编写浮点值,如:
(数)
我想在没有paranteses的情况下编写它,()。
有没有更好的方法将值作为浮点数而不是使用解压缩或者您的建议?
count = 0
output_file = open(r"C:\Users\heltbork\Desktop\binTocsvDirect\00000006.txt", "w")
with open(r"C:\Users\heltbork\Desktop\binTocsvDirect\00000006.bin", "rb") as f:
while True:
byte = f.read(4)
if not byte:
break
output_file.write(str(unpack('f', byte)))
count = count + 1
if count == 6:
count = 0
output_file.write("\n")
答案 0 :(得分:1)
它只是def load_bace_classification(featurizer='ECFP', split='random', reload=True):
"""Load bace datasets."""
# Featurize bace dataset
print("About to featurize bace dataset.")
data_dir = deepchem.utils.get_data_dir()
if reload:
save_dir = os.path.join(data_dir, "bace_c/" + featurizer + "/" + str(split))
dataset_file = os.path.join(data_dir, "bace.csv")
if not os.path.exists(dataset_file):
deepchem.utils.download_url('http://deepchem.io.s3-website-us-west-1.amazonaws.com/datasets/bace.csv'
)
的字符串形式。
tuple
返回unpack(...)
。这在docs:
...结果是一个元组,即使它只包含一个项目。
如果你想要第一个元素:
tuple
在您的代码中,使用:
first = unpack('f', byte)[0]
提示:使用csv module。