问题描述
我想将* .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)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)