gpt4 book ai didi

python - 使用 python 2.x 读取并格式化文本文件

转载 作者:行者123 更新时间:2023-11-28 22:45:27 27 4
gpt4 key购买 nike

如果我在文本文件中有如下所示的数据:

# this is a header
# and so is this
#
alligator 27.2 83.4
bear 23.9 90.2
cat 12.56 0.98
dog 15.97 0.88884
...
...

...我知道我可以使用以下代码块读取数据(制作与数据行对应的列表列表):

file1 = 'tmp.txt'

file1_data = []
data_input = open(file1,'r')
for line in data_input:
if "#" not in line:
line = line.strip().split()
first_col_datum = line[0]
second_col_datum = float(line[1])
third_col_datum = float(line[2])
file1_data.append([first_col_datum,second_col_datum,third_col_datum])
data_input.close()

...但我的直觉告诉我有一种更优雅的方式来完成这项任务。基本上我想逐行读取文件,忽略“#”,并为行中的每个元素提供“格式”命令(如 ["%s","%0.6f","% 0.6f","%0.6f","%i"] 之类的……我总是会先验地知道这一点)。执行此操作的最佳做​​法是什么?

最佳答案

如果你想写在文件中间使用

文件输入模块

import fileinput
for line in fileinput.input("C:\\Users\\Administrator\\Desktop\\new.txt",inplace=True):
if not re.match(r"^#.*$",line):
#do the formatting
print "something", #print("something", end ="") for python 3

几行就搞定了

记住你打印的任何内容都会进入文件。所以你必须阅读并打印每一行并修改你想要替换的内容。也可以使用 print "asd", , 最后很重要,因为它会阻止 print 在那里放置换行符。

现在你不会看 #` 开头的行。

所以加上条件

if not re.match(r"^#.*$",line):
#do the formatting and print

关于python - 使用 python 2.x 读取并格式化文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28558089/

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