python - 将数据从文本文件提取到输出文件

标签 python file text extract

我有很多文件,其名称只是数字。 (从 1 开始到最大数字)并且每个文件的“标签”彼此相似(ObjectID =、X =、Y = 等),但这些标签后面的值不相同完全没有。

我希望通过手动将数据从一个文件复制/粘贴到另一个文件来简化我的工作,并使用 Python 制作了一个小脚本(因为我对此有一点经验)。

这是完整的脚本:

import os

BASE_DIRECTORY = 'C:\Users\Tom\Desktop\TheServer\scriptfiles\Objects'
output_file = open('output.txt', 'w')
output = {}
file_list = []

for (dirpath, dirnames, filenames) in os.walk(BASE_DIRECTORY):
    for f in filenames:
        if 'txt' in str(f):
            e = os.path.join(str(dirpath), str(f))
            file_list.append(e)

for f in file_list:
    print f
    txtfile = open(f, 'r')
    output[f] = []
    for line in txtfile:
        if 'ObjectID =' in line:
            output[f].append(line)
        elif 'X =' in line:
            output[f].append(line)
        elif 'Y =' in line:
            output[f].append(line)
tabs = []
for tab in output:
    tabs.append(tab)

tabs.sort()
for tab in tabs:
    for row in output[tab]:
        output_file.write(row + '')

现在,一切正常,输出文件如下所示:

ObjectID = 1216
X = -1480.500610
Y = 2610.885742
ObjectID = 970
X = -1517.210693
Y = 2522.842285
ObjectID = 3802
X = -1512.156616
Y = 2521.116210
etc.

但我不希望它是这样的(每个值都有一个新行)。我需要它对每个文件执行此操作:

  1. 阅读文件。
  2. 删除值前面的标签。
  3. 格式化单行,该行将在输出文件夹中包含这些值。 (假设我想让它看起来像这样:“(1216,-1480.500610,2522.842285)”)
  4. 将该行写入输出文件夹中。
  5. 对每个文件重复此操作。

请问有什么帮助吗?

最佳答案

希望这有帮助。

data = open('sam.txt', 'r').read()

>>> print data
ObjectID = 1216
X = -1480.500610
Y = 2610.885742
ObjectID = 970
X = -1517.210693
Y = 2522.842285
ObjectID = 3802
X = -1512.156616
Y = 2521.116210
>>> 

现在让我们进行一些字符串替换:)

>>> data = data.replace('ObjectID =', '').replace('\nX = ', ',').replace('\nY = ', ',')
>>> print data
 1216,-1480.500610,2610.885742
 970,-1517.210693,2522.842285
 3802,-1512.156616,2521.116210

关于python - 将数据从文本文件提取到输出文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36448002/

相关文章:

C++ 从文件中读取整数,每个数字用逗号分隔

bash - 使用 ffmpeg 创建视频时处理丢失的帧

C++ 从文本文件中查找一行并更新/写入该行

html - 文本溢出省略号

python - 在 fit 方法需要 3 个参数的自定义类上使用 sklearn GridSearchCV

python - 使用 Python 在有限大小的图像中查找未填充的圆圈

python - 使用 scrapy 抓取图像数据

python - 对如何使用 **kwarg 感到困惑

Python多线程文件处理

javascript - 如何将输入文本字段中的一些文本设为粗体?