* .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 (将#修改为@)