【发布时间】:2019-12-26 09:44:42
【问题描述】:
我有一个输入文件包含如下文本:
case a1 b1.txt c1.txt
case a2 b2.txt c2.txt
case a3 b3.txt c3.txt
其中 b1.tx,c1.txt,b2.txt,c2.txt,b3.txt,c3.txt 是用于读取内容的文本文件,而 casea1,a2,a3 是案例。
案例存储在一个数组中。
我正在读取 txt 文件为:
bfile=[]
cfile=[]
f1= open(inp.txt,'r')
for line in f1:
cases.append(line.split()[0])
bfile.append(line.split()[1])
cfile.append(line.split()[2])
每个文件都包含 RED、GREEN BLUE 字符串和相应的值。我正在从相应的文件中获取这些值并附加到数组中: 对于 b 文件,我附加到 b_red、b_green、b_blue。 对于 c 文件,附加到 c_red,c_green,c_blue。
我试过对应的代码为:
b_red=[]
b_green=[]
b_blue=[]
c_red=[]
c_green=[]
c_blue=[]
for i in bfile:
f2=open(i,'r')
for line in f2.readlines():
string=line
if re.search(r'\bRED', string):
redValue=float(string.split()[4])
b_red.append(redValue)
---
---
for j in cfile:
f3= open(j, 'r')
for line in f3.readlines():
string = line
if re.search(r'\bRED', string):
c_redValue=float(string.split()[4])
c_red.append(c_redValue)
----
因此 b_red=[120.0,10.0,100.0],c_red[120.0,9.0,20.0],同样的值存储在数组 b_green、c_green、b_blue、c_blue 中。
我尝试将 csv 输出为:
df1=pd.DataFrame({'RED':b_red,'GREEN':b_green,'BLUE':b_blue })
df1.to_csv("OUT.CSV")
df2=pd.DataFrame({'RED':c_red,'GREEN':c_green,'BLUE':c_blue })
df2.to_csv("OUT.CSV")
df=df1-df2
df.to_csv("OUT.CSV")
其实我想要这个:
RED GREEN BLUE
a1 B 120.0 14.0 12.0
C 120.0 17.0 14.0
diff 0 -3 -2
a2 B 10.0 3.0 1.2
C 9.0 3.0 0.2
diff 1.0 0 1.0
a3 B 100.0 15.0 10.0
C 80.0 18.0 5.0
diff 20.0 -3.0 5.0
【问题讨论】:
标签: python python-3.x pandas python-2.7 export-to-csv