如何解决* .CSV到* .mdf的转换不起作用功能为asammdf.MDF.save
我想将* .CSV数据转换为 mdf扩展名。 实际上,我已经将其转换为mdf,但无法将其保存到文件( .mdf)
我的代码如下。
class Dearchive extends DoFn<MatchResult.Metadata,String> {
@ProcessElement
public void process(@Context ProcessContext context) {
ResourceId inputFile = context.element().resourceId();
String outputFilename = Files.getNameWithoutExtension(inputFile.toString());
ResourceId tempFileDir =
this.outputDir.resolve(outputFilename,StandardResolveOptions.RESOLVE_DIRECTORY);
TarArchiveInputStream tarInput = new TarArchiveInputStream(
Channels.newInputStream(FileSystems.open(inputFile)));
TarArchiveEntry currentEntry = tarInput.getNextTarEntry();
while (currentEntry != null) {
br = new BufferedReader(new InputStreamReader(tarInput)); // Read directly
ResourceId outputFile = tempFileDir.resolve(currentEntry.getName(),StandardResolveOptions.RESOLVE_FILE);
try (WritableByteChannel writerChannel = FileSystems.create(tempFile,MimeTypes.TEXT)) {
ByteStreams.copy(tarInput,Channels.newOutputStream(writerChannel));
}
context.output(outputFile.toString());
currentEntry = tarInput.getNextTarEntry(); // Iterate to the next file
}
}
}
================================================ =================================
直到上面,它都运行良好。 但是,在那之后,当我尝试
import pandas as pd
import numpy as np
from asammdf import MDF,Signal
df_modal = pd.read_csv(//file name//)
names = [x for x in df_modal.columns]
units = [df_modal[x].loc[0] for x in df_modal]
values = df_modal.drop(index = drop_index)
t = np.array([t for t in values[time]])
s_list =[]
mdf = MDF()
for i,x in enumerate(names) :
temp = pd.to_numeric(values[x],errors = 'ignore',downcast='float')
try:
s_list.append(Signal(np.array(temp),t,unit=units[i],name=x))
except : pass
mdf.append(s_list,'created by asammdf v4.0.0')*
它引发如下错误
mdf.save(file_name,overwrite=False)
有人可以让我知道成功制作* mdf文件的任何可行方法吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。