python - 在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 包在您的情况下似乎很有用。然后您可以使用以下方法加载 csv:
import pandas as pd
df=pd.read_csv(file_path)
完成必要的操作后,您可以再次保存它
df.to_csv(file_path)
这将为您节省很多在逐行解析时通常会出现的问题,并且还应该提高性能。如果您需要进行一些数据操作,Pandas 是一个非常好的学习包。
推荐阅读
- java - 使用超类
- visual-studio-code - 服务器在 Visual Studio Code MarketPlace 上返回 503 错误
- python - Python - 如何在字符串中放置输入函数?
- jquery - if aria-expanded="true 改变其他元素样式
- javascript - 如何在 Javascript 中调用 python 数组并将其用于绘图
- python - 结合 RGB 图像(numpy 数组)和 pandas 数据帧的策略
- php - 更改 Woocommerce 中特定产品的“添加到购物车”按钮文本
- python - 在 scikit learn GradientBoostingClassifier 中设置序列错误的数组元素
- javascript - Javascript自动播放图像,随机顺序与链接
- java - JNI 维数组:将二维数组从 java 传递给 c