在python中使用单独的列将终端输出到csv
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在python中使用单独的列将终端输出到csv相关的知识,希望对你有一定的参考价值。
我的代码如下:
import csv
with open('Remarks_Drug.csv', newline='', encoding ='utf-8') as myFile:
reader = csv.reader(myFile)
for row in reader:
product = row[0].lower()
filename = row[1]
product_patterns = ', '.join([i.split("+")[0].strip() for i in product.split(",")])
print(product_patterns, filename)
其输出如下:(薄膜涂层标签应为一列,文件名应为另一列)
film-coated tablet RECD outcome AUBAGIO IAIN-21 AoR.txt
solution for injection 093 Acceptance NO Safety profil.txt
我想将此输出到csv文件,其中一列作为product_patterns,另一列作为文件名。我编写了下面的代码,但只附加了最后一行。任何人都可以帮助我在这里循环。我写的代码是:
with open ('drug_output.csv', 'a') as csvfile:
fieldnames = ['product_patterns', 'filename']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writerow({'product_patterns':product_patterns, 'filename':filename})
答案
根据您可以使用的环境,使用更专用的程序来解决您的问题可能更实际。
特别是pandas package在你的情况下似乎很有用。然后你可以使用以下命令加载csv:
import pandas as pd
df=pd.read_csv(file_path)
完成必要的操作后,您可以再次保存
df.to_csv(file_path)
这将为您节省许多在逐行解析时通常会出现的问题,并且还应该提高性能。如果你需要做一些数据操作,Pandas是一个非常好的学习包。
以上是关于在python中使用单独的列将终端输出到csv的主要内容,如果未能解决你的问题,请参考以下文章