【问题标题】:Search & Replace several Names in a .CSV File using Python使用 Python 搜索和替换 .CSV 文件中的多个名称
【发布时间】:2020-01-29 10:39:27
【问题描述】:

我写了一个代码来解决这个任务,但我感觉不舒服。这就像用石头而不是锤子在墙上敲钉子。

任务:

我使用 python 从两个不同的站点抓取数据,得到两个 .CSV 文件(感谢 SIM),现在我想比较数据。问题是,我从中获取数据的站点正在调用一些不同的名称,例如

Chelsea FC 代替 FC ChelseaFSV Mainz 代替 1. FSV Mainz 05 以及更多我必须替换的名称。

这是我制作的代码:

text = open("input.csv", "r")
text = ''.join([i for i in text]) \
    .replace("Chelsea FC", "FC Chelsea")
x = open("output1.csv","w")
x.writelines(text)
x.close()

text = open("output1.csv", "r")
text = ''.join([i for i in text]) \
    .replace("FSV Mainz", "1. FSV Mainz 05")
x = open("output_final.csv","w")
x.writelines(text)
x.close()

问题是我必须在我更改的每个名称后写一个文件。我的意思是它完成了工作,但它伤害了我的感情。

请您指导我如何编写更好的代码?注意:我是一个绝对的初学者!

非常感谢!

【问题讨论】:

  • 可以使用 pandas 之类的库吗?
  • 我猜……我的意思是我可以,但我不知道怎么做……但是 hylowaker 告诉我怎么做 :) 谢谢!

标签: python csv search replace


【解决方案1】:

这是一种简单的方法

with open("input.csv", "r") as file:
    text = file.read()

text = text.replace("Chelsea FC", "FC Chelsea")
text = text.replace("FSV Mainz", "1. FSV Mainz 05")
# more replaces...

with open("output_final.csv", "w") as x:
    x.write(text)

对于更复杂的文本操作,尝试使用re(正则表达式)模块

【讨论】:

  • 不错!非常感谢!我认为这个简单的操作足以完成我的任务!谢谢!谢谢!
猜你喜欢
  • 2022-01-07
  • 2014-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-17
  • 1970-01-01
相关资源
最近更新 更多