gpt4 book ai didi

python - 在 Python 中连接 file.write() 中的字符串?

转载 作者:太空宇宙 更新时间:2023-11-04 06:17:17 24 4
gpt4 key购买 nike

我正在尝试用 Python 2.7.3 编写一个脚本,它可以从 Excel 电子表格中获取 .csv 文件并将其转换为适合 LaTeX 表格的格式。所以我想读取一个文件,并将数据写入一个新的文本文件,但将所有逗号替换为 & 符号,并在每行末尾附加一个双反斜杠。

例子:
输入

A1,A2,A3  
B1,B2,B3
C1,C2,C3

期望的输出

A1 & A2 & A3 \\
B1 & B2 & B3 \\
C1 & C2 & C3 \\

这是我现在拥有的:

old_file = open(selected_file, "r")
new_file = open("texified_" + selected_file.replace("csv","txt"), "w")
#Creates new file with format texified_selected_file.txt

for line in old_file:
new_file.write(line.replace(",", " & ") + r" \\")

new_file.close()
old_file.close()

现在它正确地将逗号替换为与号,但不添加双反斜杠。我认为这是因为反斜杠具有特殊含义,但即使将其设为原始字符串,它仍然不起作用。但是,它会将它添加到最后一行的末尾。

实际输出

A1 & A2 & A3   
B1 & B2 & B3
C1 & C2 & C3 \\

最佳答案

发生这种情况可能是因为在您的文件中的每一行末尾都有一个换行符,而不是在最后一行 的末尾。

您可以尝试在附加// 之前剥离它,然后单独添加换行符:-

import os
ls = os.linesep

for line in old_file:
new_file.write(line.replace(",", " & ").rstrip() + r' \\ ' + ls)

关于python - 在 Python 中连接 file.write() 中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14802519/

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