【发布时间】:2013-12-30 10:56:02
【问题描述】:
我有 2 个文本文件 default.txt 和 current.txt。
default.txt:
ab_abcdefghi_EnInP005M3TSub.csv FMR: 0.0009 FNMR: 0.023809524 SCORE: -4 Conformity: True
ab_abcdefghi_EnInP025M3TSub.csv FMR: 0.0039 FNMR: 0 SCORE: -14 Conformity: True
ab_abcdefghi_EnInP050M3TSub.csv FMR: 0.01989 FNMR: 0 SCORE: -18 Conformity: True
ab_abcdefghi_EnInP075M3TSub.csv FMR: 0.0029 FNMR: 0 SCORE: -17 Conformity: True
ab_abcdefghi_EnInP090M3TSub.csv FMR: 0.0002 FNMR: 0 SCORE: -7 Conformity: True
current.txt 看起来像这样
ab_abcdefghi_EnUsP005M3TSub.csv FMR: 0.0041 FNMR: 0 SCORE: -14 Conformity: True
ab_abcdefghi_EnUsP025M3TSub.csv FMR: 0.00710000000000001 FNMR: 0 SCORE: -14 Conformity: True
ab_abcdefghi_EnUsP050M3TSub.csv FMR: 0.0287999999999999 FNMR: 0 SCORE: -21 Conformity: True
ab_abcdefghi_EnUsP090M3TSub.csv FMR: 0.0113 FNMR: 0 SCORE: -23 Conformity: True
我需要做的是从默认值(默认电流)中减去当前值。
例如:
FMR_DIFF = FMR(default) - FMR(test)
FNMR_DIFF = FNMR(default) - FNMR(test)
SCORE_DIFF = SCORE(default) - SCORE(test)
我需要将它输出到一个文本文件中,输出看起来像这样
O/P:
result: 005M3TSub FMR_DIFF: -0.0032 FNMR_DIFF: 0.023809524 SCORE_DIFF: 10
我正在尝试在 C# 中执行此操作。到目前为止,我已经尝试在两个文件中读取行。我能够比较它们。我无法理解我需要实现的逻辑。我对编程很陌生。任何帮助表示赞赏。
【问题讨论】:
-
好吧,把它分解成单独的任务——想想你想如何解析每一行文本。 (你说 current.txt 大多数时候都有不同的结构——你是什么意思?)
-
@JonSkeet current.txt 肯定会有我上面提到的数据。但这并不总是该文件可能拥有的唯一数据。它可能有一些其他数据。基本上我需要在两个文件中识别 P005 值(如果两者都存在。P005 可能存在于一个文件中而不存在于另一个文件中)并减去它们。
-
那么您首先需要弄清楚如何识别相关行。我们不知道“P005 值”是什么。
标签: c# file file-comparison