问题:
读取txt文件并将3列分别存到不同的数组
每行有3列,依次读取,空格间隔
分别将每行的不同列存到不同的数组a[],b[].c[]
答案:
-
def splitFile(fileName):
-
data1,data2,data3,temp1,temp2
= [],[],[],[],[]
-
tmp1,tmp2,tmp3,tmp4,tmp5 =
'','','','',''
-
signal = 0
-
-
file =
open(fileName,'r')
-
-
for eachLine in
file:#把第一个空格左边的放到data1中,剩下的放到temp1中
-
(tmp1,tmp2) =
eachLine.split(' ',1)
-
data1.append(tmp1)
-
temp1.append(tmp2)
-
-
for each in
temp1:#把temp1安装空格分成两部分,左边的放到data2,剩下的放到temp2中
-
(tmp3,tmp4) =
each.split(' ',1)
-
data2.append(tmp3)
-
temp2.append(tmp4)
-
-
for each in
temp2:#遍历temp2的每个元素,去掉\n
-
if each[-1]
== '\n':
-
for i in
range(len(each)-1):
-
tmp5 +=
each[i]
-
signal =
1
-
-
if
signal:
-
data3.append(tmp5)
-
tmp5 =
''
-
signal =
0
-
else:
-
data3.append(each)
-
-
print('data1:',data1)
-
print('data2:',data2)
-
print('data3:',data3)
-
-
-
if __name__ == '__main__':
-
splitFile('test.txt')#把这里改成你的文件的名称!!!
-
复制代码
运行结果:
-
>>> ================================ RESTART
================================
-
>>>
-
data1: ['10.00571721360819', '10.00841882782247',
'9.99440312561496', '9.99158637013299', '9.98219694715250',
'9.97413037321925', '9.96461294604814', '9.96069767081147',
'9.95788515723488', '9.92886659289542', '9.92588200949098',
'9.89826710268096', '9.88259809183175', '9.85824715003001',
'9.84567882203992', '9.82837884346665', '9.79245306852125',
'9.76600869325161', '9.75112149876603',
'9.71509894110587']
-
data2: ['0.00000000000000', '0.12577612091348', '0.25123964861939',
'0.37685247944985', '0.50218295841405', '0.62751909357561',
'0.75274107401730', '0.87845566179990', '1.00446194195944',
'1.12774077519189', '1.25393050478840', '1.37701990806285',
'1.50166034530456', '1.62495207282860', '1.75023689634819',
'1.87486353566038', '1.99585704716632', '2.11862356767585',
'2.24405452502802', '2.36469340978138']
-
data3: ['0.00000000000000', '0.00000000000000', '0.00000000000000',
'0.00000000000000', '0.00000000000000', '0.00000000000000',
'0.00000000000000', '0.00000000000000', '0.00000000000000',
'0.00000000000000', '0.00000000000000', '0.00000000000000',
'0.00000000000000', '0.00000000000000', '0.00000000000000',
'0.00000000000000', '0.00000000000000', '0.00000000000000',
'0.00000000000000', '0.00000000000000']
-
>>>
复制代码
加载中,请稍候......