我有以下代码来打开文件并将其另存为.txt。我也正在遍历具有相同文件类型(* .asc)的目录。我只想使用* .asc文件的一部分并将其写入新的.txt文件中,以使其与特定软件兼容。代码本身可以正常工作。但是,TXTfile = open(n + ".txt", 'w')
基本上只是将.txt添加到文件中,从而使其成为文本文件。我也想这样简称:
原始文件名: SB-CPT2_Seacalf完全导出到GeODin.asc
在以下代码运行后,文件名: SB-CPT2_Seacalf完全导出到GeODin.asc.txt
我想要的内容:SB-CPT2.txt 目录中有许多文件,并且所有文件都以“ _”开头。因此,更多文件示例为:
SB-CPT20_Seacalf完全导出到GeODin.asc
或
SB-CPTOSS01_Seacalf完全导出到GeODin.asc。
我想到了.strip()或.replace()或其他东西,但是我不确定在哪里放置它。我敢肯定有一个简单的方法。我只是没有偶然发现它。
同样,问题是:
我怎么
并将其保存为原始文件名中“ _”之前的所有内容的.txt文件? (未回答实际问题)
导入glob
listing = glob.glob('./*.asc')
print listing
# Lesen der ASC Dateien:
for c in range (0,len(listing)):
ascFile = file(r'{}'.format(listing[c]),'r')
lines_csv = ascFile.readlines()
ascFile.close()
n = listing[c]
print n
TXTfile = open(n + ".txt", 'w')
TXTfile.write("Depth" + "\t" + "qc"+ "\t" + "fs"+ "\t" + "u2"+ "\t" + "qt" + "\n")
TXTfile.write("m" + "\t" + "MPa"+ "\t" + "MPa"+ "\t" + "MPa"+ "\t" + "MPa" + "\n")
for i in range (62,len(lines_csv)-2): #63 weil die daten ab Zeile 63 (in Pythonzählweise 62) beginnen und bis einschließlich zur 3. letzten Zeile (-2), da CPeT-IT keine komplett leeren Zeilen aktzeptiert
a= lines_csv[i]
Depth = str(a[7:15]).strip()
qc = str(a[25:36]).strip()
fs= str(a[37:48]).strip()
u2= str(a[68:80]).strip()
qt= str(a[91:102]).strip()
if len(Depth) == 0:
Depth_pass = "-7777"
else:
Depth_pass = str(a[7:15]).strip()
if len(qc) ==0:
qc_pass = "-7777"
else:
qc_pass = str(a[25:36]).strip()
if len(fs) ==0:
fs_pass = "-7777"
else:
fs_pass = str(a[37:48]).strip()
if len(u2) ==0:
u2_pass = "-7777"
else:
u2_pass = str(a[68:80]).strip()
if len(qt) ==0:
qt_pass = "-7777"
else:
qt_pass = str(a[91:102]).strip()
TXTfile.write(Depth_pass +'\t' + qc_pass +'\t'+ fs_pass +'\t'+ u2_pass +'\t'+ qt_pass +'\n')
TXTfile.close()