我的任务是在python中创建一个脚本,该脚本可以读取txt文件并将txt文件格式化为特定配置。
path = '/Users/ps/desktop/sI8.xyz2.txt'
file = open (path ,'r')
list = file.readline()
stuff = str.split(list)
stuff[2] = float(stuff[2])
stuff[1] = float(stuff[1])
stuff[3] = float(stuff[3])
print stuff
到目前为止,我的输出看起来像这样
['C', 5.742023, 0.193241, 2.874091]
所以我需要做的是在我的三个浮动值之上创建一个新行,并使用' C'左对齐并添加一个计数器,因此数字1中心对齐并显示下面的三个浮点数。任何建议将不胜感激,我是编程新手,这是我第一次尝试解决这些工具的问题。
原始输入
C 5.7420230 0.1932410 2.8740910
期望的输出
C 1
5.7420230 0.1932410 2.8740910
答案 0 :(得分:0)
请试试这个。我不确定你要求的列的对齐方式。也会尝试解决这个问题
import csv
with open('C:\Users\shmathew\Desktop\Sample\inv.txt') as csvfile:
readCSV = csv.reader(csvfile, delimiter=',')
Linenum =0
for row in readCSV:
print row[0] ,'\t', Linenum
print row[1] , row[2],row[3]
Linenum=Linenum+1
输出
'C' 0
5.742023 0.193241 2.8740910
'D' 1
5.742023 0.193241 2.8740911
'E' 2
5.742023 0.193241 2.8740912
'FGGG' 3
5.742023 0.193241 2.8740913
答案 1 :(得分:0)
这是你在找什么?
path = 'sI8.xyz2.txt'
file = open (path ,'r')
lists = file.readlines()
i = 1
for list in lists:
letter, f1, f2, f3 = str.split(list)
print letter + '\t' + str(i)
print f1+ '\t' +f2+ '\t' +f3
print
i+=1
file.close()
输出:
C 1
1.742023 0.193241 2.8740910
D 2
2.742023 0.193241 2.8740911
E 3
3.742023 0.193241 2.8740912
F 4
4.742023 0.193241 2.8740913