我在Linux
中有一个类似下面的文件。file_name
是batch_file.txt
。sub_directory
是code_base/workflow_1
script_name
是code_base/workflow_1/session_1.py
batch_file.txt
内容为:
1#1#workflow_1#1#session_1#2023-04-02#FDR#2
1#2#workflow_2#2#session_2#2023-04-02#FDR#2
1#3#workflow_1_2#3#session_2#2023-04-02#FDR#2
我想读取session_1.py
文件中batch_file.txt
的内容,并基于file_name
和sub_directory
创建变量。变量如下:
batch_id = number before 1st #
workflow_id = number between 1st and 2nd #
workflow_name = number between 2nd and 3rd #
session_id = number between 3rd and 4th #
session_name = number between 4th and 5th #
run_date = number between 5th and 6th #
flow_name = number between 6th and 7th #
flow_id = number after 7th #
我有这个:
batch_content = open('batch_file.txt', 'r')
batch_content.readlines()
但我不知道如何进一步进行?
3条答案
按热度按时间sg24os4d1#
如果你想要在运行时命名的变量,你可以这样做,但不应该。
相反,我会使用字典列表。
结果:
5t7ly7z52#
使用
csv
模块将数据读入字典(或者可选地使用pandas读入数据框)。例如:
对于从文件中读取的每一行,你都会得到一个字典,字典中的“变量”名作为键,文件内容作为值。有了这个字典,你可以做任何你想做的事情。
例如:
一个二个一个一个
如果您需要更多地处理这些数据或执行任何数据转换,
pandas
可能更合适。一个愚蠢的例子:
8yparm6h3#
您可以使用拆分来实现您的输出