gpt4 book ai didi

python-2.7 - 如何访问for循环和分割字符串中的每一行

转载 作者:行者123 更新时间:2023-11-30 09:50:36 25 4
gpt4 key购买 nike

我想读取文本文件并写入 csv:我使用以下代码,

import glob
import os
import re
list_of_files=glob.glob('D:\Mekala_Backupdata\PythonCodes/textFile.txt')
for fileName in list_of_files:
fin=open(fileName,"r")
data_list=fin.readlines()
fin.close()
targetSubString='-------'
indices=[idx for idx,s in enumerate(data_list) if targetSubString in s]
reqData=data_list[indices[0]+1:indices[1]]
fout=open("stripD.csv","w")
fout.writelines(reqData)
fout.flush()
fout.close
  1. 我想分割每一行中的字符串,并将第一列保存到para_list,第三列保存到end_Value
  2. 在 end_values 中,我想保留第一个字符串(如果是数字或逻辑运算符),或者如果是文本则保留整个序列。

我想要的输出:

para_list:
parq
10Lqr
29Hyt
Zgeat1
Beget

end_values:
33.0 mm
23.0
1.0
Noraml set
12

请任何人帮忙,非常感谢,

我的文本文件如下:

File Name:thUIK003K

Version:002BA07Gh
Name:HUJKO


Parameter Start End
-------------------------------------
parq 56 mm 33.0 mm
10Lqr 12.0 mm 23.0 mm
29Hyt 0.0 % 1.0 %
Zgeat1 normal set noraml set
Beget 12 km 12 km
-------------------------------------
other events:
11000 vent trig
213455 alram

xpara ypara
1 3
2 3
4 8
6 10
-------------------------------------

最佳答案

My environment is python3.5 and wiondows10.
import glob
import os
import re

list_of_files=glob.glob('E:/StackOverFlow/python/01/pythonCodes/*.txt')

for fileName in list_of_files:
fin = open(fileName, "r")
data_list = fin.readlines()
fin.close()
targetSubstring='-------'

count = 0
data_list2=[]
line = data_list[0]
for line in data_list:
if targetSubstring in line and count > 0 :
break;

if targetSubstring in line or count > 0 :
count=count+1
data_list2.append(line)

data_list2.pop(0)

columns = []
column1 = []
column3 = []

for line in data_list2 :
columns = re.split('\s{2,}',line)
column1.append(columns[0])
column3.append(columns[2])

#fout = open('stripD.csv',"w")
path,ext = os.path.splitext(os.path.basename(fileName))
fout = open(path +'_' + 'stripD.csv',"w")

fout.write('para_list:\n')
for line in column1 :
fout.write(line)
fout.write('\n')

fout.write('end_values:\n')

for line in column3 :
line_tmp = re.findall('[\d.]{2,}',line)
print(line_tmp)
if len(line_tmp) !=0 :
fout.write(line_tmp[0].strip())
else:
fout.write(line.strip())

fout.write('\n')

fout.close()
input:#same contentstextFile.txttextFile01.txtresult is belowoutput file name:textFile_stripD.csvpara_list:parq10Lqr29HytZgeat1Begetend_values:33.023.01.0noraml set12output file name:textFile01_stripD.csvpara_list:parq10Lqr29HytZgeat1Begetend_values:33.023.01.0noraml set12

关于python-2.7 - 如何访问for循环和分割字符串中的每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45612034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com