我有一个非常快速/简单的问题。我已经从数据表中创建了一个列表,并使用.loc将数据表中的值提取到列表中。但是,我想将格式更改为其他格式。
这是我当前的代码:
import re
import os
import pandas as pd
os.chdir('C:/Users/Sams PC/Desktop')
f=open('test5.txt', 'w')
test1=pd.read_csv('test1.txt', sep='\s+', header=None)
test1.columns=['Column_1','Column_2','Column_3']
test2=pd.read_csv('test2.txt', sep='\s+', header=None)
test2.columns=['Column_1','Column_2','Column_3','Column_4']
x=re.findall('[A-Z][0-9][0-9][A-Z]-[H][N]',str(test1))
y=re.findall('[A-Z][0-9][0-9][A-Z]-[C][A]-[H][N]',str(test2))
data=[]
for i in range (0,2):
if x[i] in str(test1):
data2=test1.set_index('Column_1',drop=False)
data3=(data2.loc[str(x[i]), 'Column_2':'Column_3'])
print(data3)
data.append(data3)
if y[i] in str(test2):
data2=test2.set_index('Column_1',drop=False)
data3=(data2.loc[str(y[i]),'Column_3'])
data.append(data3)
else:
print('Not Found')
else:
print('Not Found')
print (data)
f.write(str(data))
f.close()
我的输出:
[Column_2 114.424
Column_3 7.39
Name: S31N-HN, dtype: object, 61.717, Column_2 121.981
Column_3 7.468
Name: Y32N-HN, dtype: object, 60.788999999999994]
虽然脚本完全按照我想要的去做(从我的数据表中从S31N和Y32N获取正确的值),但现在的格式不可用。理想情况下,我想要一个简单的清单,例如:
114.424
7.39
61.717
121.981
7.468
60.78
或者,如果可能的话,最好在其旁边使用索引值。即
S31N-HN 114.424
S31N-HN 7.39
S31N-CA-HN 61.717
etc.
答案 0 :(得分:0)
尝试
data.append(list(data3.values))
更新
data.append(list(data3))
仅适用于系列,即您选择的是单行