【发布时间】:2018-12-03 10:33:19
【问题描述】:
我有一个 CSV 文件,其中包含一些数据。我想用某个字符替换 "" 中的所有换行符。但是这些引号之外的新行应该保留。实现这一目标的最佳方法是什么?
import sys, getopt
def main(argv):
inputfile = ''
outputfile = ''
print(argv[0:])
inputfile = argv[0:]
file_object = open(argv[0:], "r")
print(file_object)
data = file.read(file_object)
strings = data.split('"')[1::2]
for string in strings:
string.replace("\r", "")
string.replace("\n", "")
print(string)
f = open("output.csv", "w")
for string in strings:
string = string.replace("\r", "")
string = string.replace("\n", "")
f.write(string)
f.close()
if __name__ == "__main__":
main(sys.argv[1])
这不太管用,因为 "" 和 ,'s 一样丢失了。
预期输入:
“dssdlkfjsdfj \r\n ashdiowuqhduwqh \r\n”,
"3"
预期输出:
"dssdlkfjsdfj ashdiowuqhduwqh",
"3"
【问题讨论】:
-
这条线
data = file.read(file_object)file是什么?你的意思是data = file_object.read()? -
我使用的是 python 3.6,不确定是否同样有效。但它基本上会打开文件并将其作为字符串读取。
-
第一组引号的 unicode 字符不是标准的 ASCII 引号字符。
“ ”vs""这可能会妨碍您的data.split('"')。 -
是 \r\n 字符文字换行符(即在 Python 中,将与
'\\r\\n'匹配)还是换行符 实际换行符(即应该有一个文本文件中的换行符)?