python中变量的原始字符串?

2024-04-20 09:41:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我也看到过一些类似的帖子,但都没有解决我的问题。 我正在读一个带反斜杠的数字列表,并将它们写入.csv。很明显,反斜杠会引起问题。在

addr = "6253\342\200\2236387"

with open("output.csv", 'a') as w:
  write = writer(w)
  write.writerow([addr])

我发现使用r“6253\342\200\2236387”可以得到我想要的输出,但是由于我从文件中读取输入,所以不能使用原始字符串。我尝试了.encode('string-escape'),但它给了我6253\xe2\x80\x936387作为输出,这绝对不是我想要的。unicode转义给了我一个错误。有什么想法吗?在


Tags: csv字符串列表outputaswith数字open
3条回答

字符串前面的r仅用于定义字符串。如果您正在从文件中读取数据,则它已经是“原始”的。读入数据时不必做任何特殊的事情。在

请注意,如果您的数据不是纯ascii,则可能需要对其进行解码或以二进制形式读取。例如,如果数据是utf-8,则可以在读取之前打开该文件:

import codecs
f = codecs.open("test", "r", "utf-8")

这是我不久前创造的。这有助于您写入csv文件。在

def write2csv(fileName,theData):

    theFile = open(fileName+'.csv', 'a')

    wr = csv.writer(theFile, delimiter = ',', quoting=csv.QUOTE_MINIMAL)

    wr.writerow(theData)

文本文件包含。。。在

1234\4567\7890
41\5432\345\6789

代码:

^{pr2}$

这产生了一个csv,列中有整行。可能使用'ab'而不是'a'作为文件打开类型。当我只使用'a'时,我在csv中得到了额外的空白记录。在

相关问题 更多 >