我在csv文件中有一个电影列表,100个x 1列,如下所示:
1. Mulholland Drive (David Lynch, 2001)
我试图摆脱前面的数字,把标题,导演和年份放在每一栏中。我做了:
rank = pd.read_csv("/Users/...csv", header = 0)
rank.columns = ['1']
rank['1'] = rank['1'].str[3:]
去掉前面的所有数字,接下来,我想把括号中的内容分开:
rank = rank[rank.find("(")+1:rank.find(")")]
但我得到了:
AttributeError: 'DataFrame' object has no attribute 'find'
答案 0 :(得分:3)
如果他们总是肯定采用这种格式,例如 - 仅使用给定的示例来模拟文件(如果你有括号或逗号等等,那就不是......等等) #39; t匹配格式 - 这个' ll break):
rank = pd.read_csv('somefile.csv', header=None, names=['film'])
df = rank.film.str.extract('(?:\d+\.\s+)(.*?)\((.*?),\s+(\d+)\)', expand=True)
哪个会给你:
0 1 2
0 Mulholland Drive David Lynch 2001