我的目标是从一组字典中删除某个值中特定字符之后的所有字符。
我已从本地计算机导入 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/