python - 如何删除一组字典中所有字典的字典值中某个字符之后的所有内容?

标签 python parsing dictionary

我的目标是从一组字典中删除某个值中特定字符之后的所有字符。

我已从本地计算机导入 CSV 文件并使用以下代码进行打印:

import csv
with open('C:\Users\xxxxx\Desktop\Aug_raw_Page.csv') as csvfile:
    reader=csv.DictReader(csvfile)
    for row in reader:
        print row

我得到一组目录,如下所示:

{Pageviews_Aug':'145', 'URL':'http://www.domain.com/#fbid=12345'}

对于任何包含 #fbid 值的目录,我尝试删除 #fbid 及其后的任何字符 - 对于所有符合此条件的目录.

我已经尝试过:

for key,value in row.items():
       if key == 'URL' and '#' in value or 'fbid' in value
            value.split('#')[0]
            print row

没用。

不要认为 rsplit 会起作用,因为它只删除空格。

最佳答案

我想到的最快方法是使用rsplit()

out = text.rsplit('#fbid')[0]

好的,所以我猜你的问题不在于删除 # 之后的文本,而在于获取该字符串。

什么是“行”? 我猜这是一个只有一个“URL”键的字典,我错了吗?

 for key,value in row.items():
     if key == 'URL' and '#fbid' in value:
        print value.split('#')[0]

我不太了解您数据的完整格式。 如果您想编辑字典中的单个变量,则不必遍历所有项目:

if 'URL' in row.keys():
    if '#fbid' in row['URL']:
         row['URL'] = row['URL'].rsplit('#fbid')[0]

这应该有效。 但我真的认为你应该复制整个数据的示例(三项就足够了)

关于python - 如何删除一组字典中所有字典的字典值中某个字符之后的所有内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34925937/

相关文章:

python - 我怎样才能告诉 PyCharm 参数应该是什么类型?

python - 属性错误 : 'FeatureChartParser' object has no attribute 'nbest_parse'

java - 将电话号码(手机或固定电话)拆分为国家代码、区号和号码

c++ - 文本直方图,存储在 map 中的 token

python - 带索引的字典理解

javascript - 使用 Python 抓取网页的 JavaScript 页面

python - Pygame 不允许我为 rect.move 使用 float ,但我需要它

python - 找不到lpython2.7

ios - 更新到Xcode 5后的新警告

c# - 使用键值数组访问字典