【发布时间】:2022-01-07 19:12:35
【问题描述】:
我创建了一个带有 4 个参数的函数。但是我想将这 4 个参数中的 100 组不同的参数输入到我的函数中。
尝试使用 4 个参数迭代 100 个集合,但我需要只显示字符串的结果,而不是任何类型的括号,因为我的函数不能有额外的括号。
这是我的代码:
def main():
run_list = [('file1.csv', 'file2.csv', pd.read_csv('file1.csv').columns[0], pd.read_csv('file2.csv').columns[0]),
('file3.csv', 'file4csv', pd.read_csv('file3.csv').columns[0], pd.read_csv('file4.csv').columns[0])]
for k in run_list:
myFunction(k)
如果我分解代码,我会得到以下信息:
run_list = [('file1.csv', 'file2.csv', pd.read_csv('file1.csv').columns[0], pd.read_csv('file2.csv').columns[0]),
('file3.csv', 'file4csv', pd.read_csv('file3.csv').columns[0], pd.read_csv('file4.csv').columns[0])]
for k in run_list:
print(str(k))
>>> ('file1.csv', 'file2.csv', 'column_name1', 'column_name2')
>>> ('file3.csv', 'file4.csv', 'column_name3', 'column_name4')
所需的输出不带括号,因此我可以将每组中的 4 个参数用于 myFunction,它需要 4 个参数:
>>> 'file1.csv', 'file2.csv', 'column_name1', 'column_name2'
>>> 'file3.csv', 'file4.csv', 'column_name3', 'column_name4'
我尝试了.strip('[]'),它在print 上工作,但在function 上失败:
def main():
run_list = [('file1.csv', 'file2.csv', pd.read_csv('file1.csv').columns[0], pd.read_csv('file2.csv').columns[0]),
('file3.csv', 'file4csv', pd.read_csv('file3.csv').columns[0], pd.read_csv('file4.csv').columns[0])]
for k in run_list:
print(k.strip('[]'))
>>> 'file1.csv', 'file2.csv', 'column_name1', 'column_name2'
>>> 'file3.csv', 'file4.csv', 'column_name3', 'column_name4'
def main():
run_list = [('file1.csv', 'file2.csv', pd.read_csv('file1.csv').columns[0], pd.read_csv('file2.csv').columns[0]),
('file3.csv', 'file4csv', pd.read_csv('file3.csv').columns[0], pd.read_csv('file4.csv').columns[0])]
for k in run_list:
myFunction(k.strip('[]'))
>>>AttributeError: 'list' object has no attribute 'strip'
【问题讨论】:
标签: python-3.x pandas dataframe function loops