【发布时间】:2017-07-07 21:29:33
【问题描述】:
我是 python 编码的新手,我有这两个需要操作的文本文件。有谁知道如何将一个文件的特定列替换为另一个文件列?所以,例如, 我想取'test1.txt'的最后四列,
1 N1 -3.8340 -1.0640 2.8770 n3 1 UNL -0.696600
2 N2 -2.7490 -1.5690 2.2220 n3 1 UNL -0.278400
3 C1 -2.3750 -0.9950 1.1200 c3 1 UNL 0.169400
4 C2 -1.2280 -1.5720 0.2740 c3 1 UNL 0.671800
只将第一个文本的最后四列替换为“test2.txt”——注意当它重复时,第三列到最后一列的整数会增加。
1 N1 31.2480 39.4030 91.8950 N.3 1 UNL 0.000000
2 N2 32.0980 38.3940 91.5460 N.2 1 UNL 0.000000
3 C1 33.0530 38.6590 90.7070 C.2 1 UNL 0.000000
4 C2 33.9820 37.5500 90.1880 C.2 1 UNL 0.000000
5 N1 55.1040 41.1430 27.6790 N.3 2 UNL 0.000000
6 N2 53.9860 41.7250 27.1570 N.2 2 UNL 0.000000
7 C1 53.7640 41.5940 25.8850 C.2 2 UNL 0.000000
8 C2 52.5820 42.3090 25.2080 C.2 2 UNL 0.000000
这样最终的结果就变成了
1 N1 31.2480 39.4030 91.8950 n3 1 UNL -0.696600
2 N2 32.0980 38.3940 91.5460 n3 1 UNL -0.278400
3 C1 33.0530 38.6590 90.7070 c3 1 UNL 0.169400
4 C2 33.9820 37.5500 90.1880 c3 1 UNL 0.671800
5 N1 55.1040 41.1430 27.6790 n3 2 UNL -0.696600
6 N2 53.9860 41.7250 27.1570 n3 2 UNL -0.278400
7 C1 53.7640 41.5940 25.8850 c3 2 UNL 0.169400
8 C2 52.5820 42.3090 25.2080 c3 2 UNL 0.671800
像这样... 这甚至是python编码的可能性吗? 这两个文件以两个不同的文件名保存。
【问题讨论】:
-
数据只是一个txt文件,中间有空格?总是相同数量的空格?例如,如果您可以将数据保存为
csv文件,这将使事情变得容易得多。 -
我不清楚你想要什么。是否要将最后一列替换为第一个表中的值?是否还要替换第 6 列 (N.3 -> n3) 中的值?
-
欢迎来到 StackOverflow。请阅读并遵循帮助文档中的发布指南。 on topic 和 how to ask 在这里申请。 StackOverflow 不是设计、编码、研究或教程服务。
-
特别是,这个应用程序不够普遍,没有标准化的格式。您必须自己编写重复代码。请注意,您要更改的只是最后一列;
test2.txt中的倒数第三列已正确递增。将重复值存储在列表中。对线条使用简单的计数器。每行的最后一列都替换为counter % 4指示的值。
标签: python file text multiple-columns edit