替换'';使用'';在CSV文件中使用python 2.5.1
我是python的新手,一直面临使用python 2.5.1版本编辑.csv文件的问题 我的目标是将csv数据中的所有“.”替换为“.” 这是我能走多远替换'';使用'';在CSV文件中使用python 2.5.1,python,csv,Python,Csv,我是python的新手,一直面临使用python 2.5.1版本编辑.csv文件的问题 我的目标是将csv数据中的所有“.”替换为“.” 这是我能走多远 import csv import re def replace_all(text, dic): for i, j in dic.iteritems(): text = text.replace(i, j) return text f_dic = {',':'.'} with open('file.csv'
import csv
import re
def replace_all(text, dic):
for i, j in dic.iteritems():
text = text.replace(i, j)
return text
f_dic = {',':'.'}
with open('file.csv','r') as f:
text=f.read()
with open('file+.csv','w') as w:
text=replace_all(text,f_dic)
print text
w.write(text)
当我运行它时,会显示-以“open”作为无效语法
非常感谢您的帮助。要解决您的语法错误,在Python 2.5中,您需要:
from __future__ import with_statement
将与
语句一起使用。它仅在Python2.6及更高版本中默认可用
请注意,您不使用导入的
csv
和re
模块re
是不必要的,但是如果您关心引用和转义,您可能希望使用csv读取器的正常默认值读取文件,并使用分隔符“.”写入,而不是简单地替换内容。只有在现有数据中没有
s,并且没有不应转换的转义或引用的,
s时,您编写的代码才能工作。根据您将如何使用该文件,将其命名为“something.csv”也可能是个坏主意,因为它不再是实际的逗号分隔数据。要解决语法错误,在Python 2.5中,您需要:
from __future__ import with_statement
将与
语句一起使用。它仅在Python2.6及更高版本中默认可用
请注意,您不使用导入的
csv
和re
模块re
是不必要的,但是如果您关心引用和转义,您可能希望使用csv读取器的正常默认值读取文件,并使用分隔符“.”写入,而不是简单地替换内容。只有在现有数据中没有
s,并且没有不应转换的转义或引用的,
s时,您编写的代码才能工作。根据您将如何使用该文件,将其命名为“something.csv”也可能是个坏主意,因为它不再是实际的逗号分隔数据。看起来您正在尝试将分隔符从逗号改为句点。如果是这种情况,则无需以csv形式打开,只需以文本形式打开并替换所有“,”
with open('file.csv', w) as fp:
text = f.read()
text.replace(',' , '.')
fp.tell(0);
fp.write(text)
看起来您正在尝试将分隔符从逗号更改为句点。如果是这种情况,则无需以csv形式打开,只需以文本形式打开并替换所有“,”
with open('file.csv', w) as fp:
text = f.read()
text.replace(',' , '.')
fp.tell(0);
fp.write(text)
如何替换CSV数据中的“,”?您如何知道哪一个是分隔符值,哪一个在您的数据中?最好使用
cvs
将其与一个除沫器一起加载,然后与另一个除沫器一起保存,而不是使用replace
@Ron E。csv文件中的数据是根据德国标准存储的,这意味着使用“,”代替“;”用作分隔符。@user3181928啊,愚蠢的德国人,然后按照我在回答中的建议以文本形式打开文件。如果您没有修改或使用数据,则无需将其标记为CSV。如何替换CSV数据中的“,”?您如何知道哪一个是分隔符值,哪一个在您的数据中?最好使用cvs
将其与一个除沫器一起加载,然后与另一个除沫器一起保存,而不是使用replace
@Ron E。csv文件中的数据是根据德国标准存储的,这意味着使用“,”代替“;”用作分隔符。@user3181928啊,愚蠢的德国人,然后按照我在回答中的建议以文本形式打开文件。如果您没有修改或使用数据,则无需将其标记为CSV。谢谢您的帮助:)谢谢您的帮助:)