具体来说,我已经从Google Adwords导出了一个csv文件。
我逐行阅读文件并更改电话号码。
这是文字脚本:
for line in open('ads.csv', 'r'):
newdata = changeNums(line)
sys.stdout.write(newdata)
changeNums()
只执行一些字符串替换并返回字符串。
问题是在印刷的换行符的末尾是一个音符。
原始CSV在行尾没有此注释。另外,我无法复制粘贴笔记。
这是某种编码问题还是正在发生什么?
答案 0 :(得分:2)
尝试使用universal line support打开:
for line in open('ads.csv', 'rU'):
# etc
答案 1 :(得分:0)
或者:
我的猜测:changeNums正在添加它。
最佳调试命令:
print([ord(x) for x in line])
print([ord(x) for x in newdata])
print line == newdata
检查字符串中的字符值。
答案 2 :(得分:0)
您可以通过以下方式删除换行符:
for line in open('ads.csv', 'r'):
line = line.rstrip('\n')
newdata = changeNums(line)
sys.stdout.write(newdata)
最后一个奇怪的“音符”字符通常是* nix和* dos / * win环境之间的CR / LF换行问题。