替换'';使用'';在CSV文件中使用python 2.5.1

替换'';使用'';在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'

我是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','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。谢谢您的帮助:)谢谢您的帮助:)