我对Python非常陌生,我正在尝试根据一些行是否包含字符串来筛选数据帧中的一些行。我希望脚本自动使用输入名称将过滤后的数据保存到文本文件中。
假设我使用python3 code.py input.txt读取我的文件,代码如下所示:
#!/usr/bin/python3
import pandas as pd
import sys
data = pd.read_csv(sys.argv[1], sep='\t', header=0)
selectedcols = data['Func.refGene']
selectedrows = selectedcols.str.contains("exonic|splicing")
selecteddata = data[selectedrows]
selecteddata.to_csv(f'{sys.argv[1][:-4]}_exonic.splicing.txt', index=None, sep='\t', mode = 'a')其中'Func.refGene‘是我想搜索的字符串“外显子”和“剪接”的列。我已经编写了这段代码,它以前也能工作,但是现在我尝试运行它,会发生以下错误:
File "code.py", line 12
selecteddata.to_csv(f'{sys.argv[1][:-4]}_exonic.splicing.txt', index=None, sep='\t', mode = 'a')
^
SyntaxError: invalid syntax有谁知道会有什么不对劲吗?我已经搜索过这个语法,但没有取得任何成功。
发布于 2022-08-04 16:44:28
试试下面的python 3.6,
selecteddata.to_csv('{0}_exonic.splicing.txt'.format(sys.argv[1][:-4]), index=None, sep='\t', mode = 'a')Python3.6 https://docs.python.org/3/whatsnew/3.6.html#pep-498-formatted-string-literals提供的f-string支持
https://stackoverflow.com/questions/73239120
复制相似问题