这是读取输出
['multi_index', ' int64']
['multi_no', ' int64']
['name_class', ' string']
['name_event', ' string']
.....
我希望每一行都有这样的格式
('multi_index', pa.int64()),
('multi_no', pa.int64())
with open("out.txt") as file:
with open("pravi.txt", 'w') as f2:
for line in file:
line = line.strip().split(":")
f2.write('{} pa.{}'.format(line))
如何重写我的代码的最后一行?
我不会质疑为什么您需要这样的输出--看起来您是在用脚本生成代码,而您可能只是在运行代码,但是rReverse engineering“您当前的输出
['multi_index', ' int64']
['multi_no', ' int64']
['name_class', ' string']
['name_event', ' string']
,我觉得你的输入文件看起来像
multi_index: int64
multi_no: int64
name_class: string
name_event: string
如果是这样,你就快成功了:
import io
input_file = io.StringIO("""
multi_index: int64
multi_no: int64
name_class: string
name_event: string
""".strip())
for line in input_file:
name, type = line.strip().split(': ', 1)
print(f"('{name}', pa.{type}()),")
产出
('multi_index', pa.int64()),
('multi_no', pa.int64()),
('name_class', pa.string()),
('name_event', pa.string()),
因此,唯一真正的改变是使用':'
进行拆分,从类型中删除这些空间,并正确地打印出来。