回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我试图通过删除任何属性中出现的<code>"</code>和<code>'</code>来管理CSV文件。但是我不允许替换值,即使我已经在<code>Python</code>控制台中进行了替换。你知道吗</p>
<p>我是这样做的:</p>
<pre><code>import csv
input_data = open("D:/data/demo.csv", encoding="utf8")
reader = csv.DictReader(input_data)
csv_columns = reader.fieldnames
f = open("D:/data/output.csv", 'w', encoding="utf8", newline='')
for line in reader:
try:
new_line = None
for prop in line:
cured_str = str(line[prop]).replace("\"", "").replace('"', '').replace('"', "'").replace('"', "\'")
if new_line == None:
new_line = cured_str
else:
new_line += ", " + cured_str
f.write(new_line + "\n")
except Exception as err:
print("Error: ", err)
input_data.close()
f.close()
</code></pre>
<p>代码执行得很好,但是如果检查<code>cured_str</code>的值,<code>"</code>和<code>'</code>永远不会被替换。例如,<code>line[prop]</code>中的值是:</p>
<pre class="lang-none prettyprint-override"><code>'I\\'m at Fazıl Bey\\'in @aaa in Rome, Italy '
</code></pre>
<p>完整的<code>demo.csv</code>内容是:</p>
<pre class="lang-none prettyprint-override"><code>id,message_id,date,text,tags,tweet_lang,source,place,geom,retweets,tweet_favorites,photo_url,quoted_status_id,user_id,user_name,user_location,followers,friends,user_favorites,status,user_lang,latitude,longitude,text_translated_en,src_lang,src_accuracy,text_translated_en_parallel,up_filter,prediction,probability_0,probability_1
10,569282882658807808,2015-02-21 23:49:50,fav,,,Twitter for Android,,0101000055B79C93C406DACC43C2B834440,,,,,1567775498,eliovmek,,,,,,,41.024757,28.787008,,zu,92.0,Social fav,,0,0.9732880735563579,0.026711926443642064
11,651384744010252288,2015-10-06 13:13:19,"Is I'm at she İlia? ",,,Foursquare,,0101000020E6100000B37CFA5B44063D4027A1D377277F4440,,,,,156044562,ajan34,,,,,,,40.99339197,29.02448058,,tr,98.0,"I'm at Fazıl Bey'in @aaa in Rome, Italy ",,0,0.9181253978980514,0.08187460210194858
11,651384744010252288,2015-10-06 13:13:19,"IsI'm at she İlia? ",,,Foursquare,,0101000020E6100000B37CFA5B44063D4027A1D377277F4440,,,,,156044562,ajan34,,,,,,,40.99339197,29.02448058,,tr,98.0,"I'm at Fazıl Bey'in @aaa in Rome, Italy ",,0,0.9181253978980514,0.08187460210194858
11,651384744010252288,2015-10-06 13:13:19,"Is I'm at she İlia? ",,,Foursquare,,0101000020E6100000B37CFA5B44063D4027A1D377277F4440,,,,,156044562,ajan34,,,,,,,40.99339197,29.02448058,,tr,98.0,"I'm at Fazıl Bey'in @aaa in Rome, Italy ",,0,0.9181253978980514,0.08187460210194858
11,651384744010252288,2015-10-06 13:13:19,"Is she İlia? ",,,Foursquare,,0101000020E6100000B37CFA5B44063D4027A1D377277F4440,,,,,156044562,ajan34,,,,,,,40.99339197,29.02448058,,tr,98.0,"I'm at Fazıl Bey'in @aaa in Rome, Italy ",,0,0.9181253978980514,0.08187460210194858
11,651384744010252288,2015-10-06 13:13:19,"Is she İlia? ",,,Foursquare,,0101000020E6100000B37CFA5B44063D4027A1D377277F4440,,,,,156044562,ajan34,,,,,,,40.99339197,29.02448058,,tr,98.0,"I'm at Fazıl Bey'in @aaa in Rome, Italy ",,0,0.9181253978980514,0.08187460210194858
11,651384744010252288,2015-10-06 13:13:19,"Is she İlia? ",,,Foursquare,,0101000020E6100000B37CFA5B44063D4027A1D377277F4440,,,,,156044562,ajan34,,,,,,,40.99339197,29.02448058,,tr,98.0,"I'm at Fazıl Bey'in @aaa in Rome, Italy ",,0,0.9181253978980514,0.08187460210194858
11,651384744010252288,2015-10-06 13:13:19,"Is she İlia? ",,,Foursquare,,0101000020E6100000B37CFA5B44063D4027A1D377277F4440,,,,,156044562,ajan34,,,,,,,40.99339197,29.02448058,,tr,98.0,"I'm at Fazıl Bey'in @aaa in Rome, Italy ",,0,0.9181253978980514,0.08187460210194858
11,651384744010252288,2015-10-06 13:13:19,"Is she İlia? ",,,Foursquare,,0101000020E6100000B37CFA5B44063D4027A1D377277F4440,,,,,156044562,ajan34,,,,,,,40.99339197,29.02448058,,tr,98.0,"I'm at Fazıl Bey'in @aaa in Rome, Italy ",,0,0.9181253978980514,0.08187460210194858
11,651384744010252288,2015-10-06 13:13:19,"Is she İlia? ",,,Foursquare,,0101000020E6100000B37CFA5B44063D4027A1D377277F4440,,,,,156044562,ajan34,,,,,,,40.99339197,29.02448058,,tr,98.0,"I'm at Fazıl Bey'in @aaa in Rome, Italy ",,0,0.9181253978980514,0.08187460210194858
</code></pre>
<p>PS:它可以在控制台中工作,但不能从脚本中工作。你知道吗</p>