您也许可以使用regex
import re
text = re.sub('^""$', '"' ,text)
所以完整的代码必须是这样的:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import scipy as sp
import re
# reading CSV file
data = pd.read_csv("report.csv",delimiter=';')
for val in data['Payee']:
val = str (val)
newVal = re.sub(r'"', '' ,val)
newVal = '"'+newVal+'"'
print(newVal)
我的终端上的输出是这样的:
"nan"
"Carfax"
"Carfax"
"USA Petroleum"
编辑:添加完整代码以创建文件
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import scipy as sp
import re
# reading CSV file
data = pd.read_csv("report.csv",delimiter=';')
names = data['Name'].tolist();
balances = data['Current balance'].tolist();
accounts = data['Account'].tolist();
transfers = data['Transfers'].tolist();
descriptions = data['Description'].tolist();
categories = data['Category'].tolist();
dates = data['Date'].tolist();
memos = data['Memo'].tolist();
amount = data['Amount'].tolist();
currency = data['Currency'].tolist();
check = data['Check #'].tolist();
tags = data['Tags'].tolist();
counter = 0
f = open("report_modified.csv", "w+")
f.write('"Name";"Current balance";"Account";"Transfers";"Description";"Payee";"Category";"Date";"Memo";"Amount";"Currency";"Check #";"Tags"\n');
for val in data['Payee']:
val = str (val)
newVal = re.sub(r'"', '' ,val)
newVal = '"'+newVal+'"'
print(newVal)
f.write(str(names[counter])+';')
f.write(str(balances[counter])+';')
f.write(str(accounts[counter])+';')
f.write(str(transfers[counter])+';')
f.write(str(descriptions[counter])+';')
f.write(str(newVal)+';')
f.write(str(categories[counter])+';')
f.write(str(dates[counter])+';')
f.write(str(memos[counter])+';')
f.write(str(amount[counter])+';')
f.write(str(currency[counter])+';')
f.write(str(check[counter])+';')
f.write(str(tags[counter])+'\n')
f.close()