Python - 读取文本并写入 csv。将空列替换为默认 'N/A' 值
Python - Read text and write into csv. Replace empty columns as a default 'N/A' value
我有一个 txt 文件,'iteration.txt'。
我只想抓取'Section'后的数据写入csv.
'Section A' 有 2 个输入和输出。 'Section B' 没有输入和输出,我想将 'N/A' 放在空列中。
'iteration.txt'
Input-> 000
Output-> 000
Codex153 @ Section_A_Iterating
Input-> 101
Output-> 010
unwanted data
Input-> 320
Output-> 321
unwanted data
Codex173 @ Section_B_Extracting
Codex183 @ Section_C_Iterating
unwanted data
unwanted data
Input->011
Output-> 011
我完成的代码:
with open('iteration.csv', 'w') as writer:
flag = False
writer.write ('Section,Input,Output'+'\n')
for eachline in open('iteration.txt').readlines():
if 'Section' in eachline:
flag = True
writer.write (eachline.split()[-1]+'\n')
#print (section_list)
if flag:
if 'Input' in eachline:
writer.write (eachline.strip() + '\n')
if 'Output' in eachline:
writer.write(eachline.strip() + '\n')
上面代码的 Csv 输出:
预期的 csv 数据:
抱歉,我是新手,我不太确定如何将 'N/A' 放在空列中,以及如何根据各自的 headers 放置数据。有什么简单的方法可以做到这一点,最好不要过多更改上面的代码?
谢谢!
使用函数 .fillna('N/A')
您可以填充空值或不存在的值。
我有一个 txt 文件,'iteration.txt'。
我只想抓取'Section'后的数据写入csv.
'Section A' 有 2 个输入和输出。 'Section B' 没有输入和输出,我想将 'N/A' 放在空列中。
'iteration.txt'
Input-> 000
Output-> 000
Codex153 @ Section_A_Iterating
Input-> 101
Output-> 010
unwanted data
Input-> 320
Output-> 321
unwanted data
Codex173 @ Section_B_Extracting
Codex183 @ Section_C_Iterating
unwanted data
unwanted data
Input->011
Output-> 011
我完成的代码:
with open('iteration.csv', 'w') as writer:
flag = False
writer.write ('Section,Input,Output'+'\n')
for eachline in open('iteration.txt').readlines():
if 'Section' in eachline:
flag = True
writer.write (eachline.split()[-1]+'\n')
#print (section_list)
if flag:
if 'Input' in eachline:
writer.write (eachline.strip() + '\n')
if 'Output' in eachline:
writer.write(eachline.strip() + '\n')
上面代码的 Csv 输出:
预期的 csv 数据:
抱歉,我是新手,我不太确定如何将 'N/A' 放在空列中,以及如何根据各自的 headers 放置数据。有什么简单的方法可以做到这一点,最好不要过多更改上面的代码? 谢谢!
使用函数 .fillna('N/A')
您可以填充空值或不存在的值。