我要
- 打开并阅读第一个文件
- 打开并阅读第二个文件
- 将第二个文件的值复制到第一个带标题的文件
- 将新值写入第一个文件
即第一个文件以读写模式打开,第二个文件以读取模式打开。 例如,
第一个文件
CHINESE JAPANESE KOREAN
CA 0.1 0.1 1.1
WA 0.2 -0.2 1.3
OR -0.1 1.1 0.1
UT 0.3 1.4 -0.9
第二个文件(无标题)
1.1
1.3
-0.1
1.3
重新创建第一个文件
CHINESE JAPANESE KOREAN VIETNAMESE TOTAL
CA 0.1 0.1 1.1 1.1 2.4
WA 0.2 -0.2 1.3 1.3 2.6
OR -0.1 1.1 0.1 -0.1 1.0
UT 0.3 1.4 -0.9 1.3 2.1
这里,第二个文件包含有关 VIETNAMESE 列的值。
因此,第一件事是将标题 1) VIETNAMESE 和 2) TOTAL 写入第一个文件的标题。
然后,将 2nd_file 中的值写入 1st_column 对应的 VIETNAMESE 列。
最后,计算1st_column的值,并将其(如TOTAL)写入1st_column。
我尝试用 r+ 模式打开第一个文件,但效果不佳。仅供引用,真正的 1st_files 大约有 1 亿行和 20 列。
怎么做?
请您参考如下方法:
虽然我同意 iCodez 并且你不应该使用 txt 文件(可能是 SQL 甚至 json)......我会给你一个替代方案。
file1 = open("example.txt", "r")
alldatainfile1 = file1.read()
file1.close()
file2 = open("example.txt", "r")
alldatainfile2 = file2.read()
file2.close()
既然您正在使用变量而不是文件,您可以...
file1 = open("example.txt", "w")
file1.write(alldatainfile2)
file1.close()
请注意,我使用“w”写入文件(这将删除所有信息然后保存新信息),但是如果您只想向文件添加信息而不是删除所有信息,您应该使用“a”附加数据。
最后我建议 3 个提示:
- 在尝试之前备份您的文件,删除重要信息的机会很高。
- 使用
For line in yourfile代码检查信息是否已经存在,如果是这样就不要复制它,但应该使用 json 正确完成。 - 如果那是 json 会很容易,因为不是我会尝试给你一个代码来计算一行的总数。
您可以执行以下代码:
total = 0
for line in alldatainfile1:
linesplit.split(" ") #3 whitespaces, since you got it that way
total = total + line[1]
print("total of column1: " + str(total))
