文本文件行到csv列



我正在尝试将数据从文本文件传输到csv。我的文本文件包含许多用/n分隔的行。

我的文本文件如下:

1  CONTINUE
A:data
B:data
C:data
D:data
Something A
$Param     = data
$Param2    = data
2 CONTINUE 

等等,结构是一样的

我需要输出像这样的csv:

Number | Var_A | Var_B | Var_C | Var_D | Something | Parameter 
1       |data  |  data   | data  |  data    |   A     |     Param
1       |data  |  data   | data  |  data    |   A     |     Param2

希望我说得够清楚:)有什么想法吗?

问题是很难发现真正的问题。代码是我做的,但请告诉我你的问题是否明显存在。

txt_lines = txt.split("n")
df_dict = dict()
for line in txt_lines:
if not line:
continue
if ":" in line:
column = "Var_" + line.split(':')[0]
row = df_dict.get(column, list())
row.append(line.split(':')[-1])
df_dict.update({column: row})
elif "$" in line:
column = "Parameter"
row = df_dict.get(column, list())
row.append(line.split()[0].split('$')[-1])
df_dict.update({column: row})
elif line.split()[0].isdigit():
column = "Number"
row = df_dict.get(column, list())
row.append(line.split()[0])
df_dict.update({column: row})
else:
column = line.split()[0]
row = df_dict.get(column, list())
row.append(line.split()[1])
df_dict.update({column: row})
df = pd.DataFrame(dict([(k, pd.Series(v)) for k,v in df_dict.items()])).fillna('')
#df.to_csv("result.csv", index=False, sep="|")

df看起来像这样

Number Var_A Var_B Var_C Var_D Something Parameter
0      1  data  data  data  data         A     Param
1      2                                      Param2

最新更新