在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})

enter image description here

答案

根据您可以使用的环境,使用更专用的程序来解决您的问题可能更实际。

特别是pandas package在你的情况下似乎很有用。然后你可以使用以下命令加载csv:

import pandas as pd
df=pd.read_csv(file_path)

完成必要的操作后,您可以再次保存

df.to_csv(file_path)

这将为您节省许多在逐行解析时通常会出现的问题,并且还应该提高性能。如果你需要做一些数据操作,Pandas是一个非常好的学习包。

以上是关于在python中使用单独的列将终端输出到csv的主要内容,如果未能解决你的问题,请参考以下文章

从三个单独的列表创建一个 .csv 文件

将电子表格的行转换为单独的 XML 文件

Python:将系列添加到数据框架中,并没有将数据放在正确的列中。

SQL Server 更新移动到单独的列

Python,熊猫连接多个数据帧

如何将火花数据输出到具有单独列的 csv 文件?