Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在数据帧中将2个双引号替换为单引号?_Python_Python 3.x_Regex_Pandas_Dataframe - Fatal编程技术网

Python 如何在数据帧中将2个双引号替换为单引号?

Python 如何在数据帧中将2个双引号替换为单引号?,python,python-3.x,regex,pandas,dataframe,Python,Python 3.x,Regex,Pandas,Dataframe,我试图将两个双引号替换为单引号。你能帮帮我吗 例如: “我的名字叫希瓦姆。” 预期产出: "My name is shivam." 我认为问题是在将此数据帧保存到csv文件时出现的。就数据帧而言,它是正确的。也许您可以使用replace方法 string = '""My name is shivam.""' string = string.replace('""','"') print(string)

我试图将两个双引号替换为单引号。你能帮帮我吗

例如:

“我的名字叫希瓦姆。” 预期产出:

"My name is shivam."

我认为问题是在将此数据帧保存到csv文件时出现的。就数据帧而言,它是正确的。

也许您可以使用replace方法

string = '""My name is shivam.""'
string = string.replace('""','"')
print(string)
如果它在列中,请尝试

df['column'] = df['column'].str.replace('""','"')

也许您可以使用replace方法

string = '""My name is shivam.""'
string = string.replace('""','"')
print(string)
如果它在列中,请尝试

df['column'] = df['column'].str.replace('""','"')

对于所有列,只需运行:

df = df.apply(lambda s:s.replace('(")(")','"', regex=True))

对于所有列,只需运行:

df = df.apply(lambda s:s.replace('(")(")','"', regex=True))
试试看

df[column_name].replace('""','"',regex=True)

对于多列

df.replace('""','"',regex=True)

试试看

df[column_name].replace('""','"',regex=True)

对于多列

df.replace('""','"',regex=True)

IIUC,您可以尝试用第一个实例替换捕获组

print(s)

0     ""My name is shivam.""  
1                       Shivan
2                     "Shivan"

s1 = s.replace('(")(")',r'\1',regex=True)

print(s1)

0     "My name is shivam."  
1                     Shivan
2                   "Shivan"

IIUC,您可以尝试将捕获组替换为其第一个实例

print(s)

0     ""My name is shivam.""  
1                       Shivan
2                     "Shivan"

s1 = s.replace('(")(")',r'\1',regex=True)

print(s1)

0     "My name is shivam."  
1                     Shivan
2                   "Shivan"


为了清楚起见,如果我将该字符串放入变量中,它将是:
““我的名字是shivam。”“
”,您希望它变成
““我的名字是shivam。””
?请提供有关该问题的更多上下文。那个字符串出现在哪里?文件?是,它是一列值。大多数列.df.replace({'\'':'''''},regex=True)都会出现这种情况,如果我将该字符串放入一个变量中,它将是:
“”“我的名字是shivam。”“
您希望它变成
””我的名字是shivam。“
?请提供有关此问题的更多上下文。那个字符串出现在哪里?文件?是,它是一列值。大多数列.df.replace({'\'':''''''},regex=True)都会出现这种情况很好的解决方案,只是一个平头,inplace会被折旧。请现在检查。谢谢。很好的解决方案,只是一个平头,inplace会被折旧。请现在检查。谢谢。它出现在大多数列中。而不是在单个列中。然后直接使用df.replace()但是,在保存到文件中时,它再次以两个双引号出现。您是否正在使用新生成的数据框对象更新数据框对象,如下面所示?df=df.replace(“”“”,““”,regex=True)或df.replace(“”“”,“”,regex=True,inplace=True),它出现在大多数列中。而不是单列中。然后直接使用df.replace()但是,在保存到文件中时,它再次以两个双引号出现。您是否使用新生成的数据框对象更新数据框对象,如下面所示?df=df.replace(''''''',''''',regex=True)或df.replace('''''',''',regex=True,inplace=True)