python - csv 将所有行写入一列 python

标签 python xml csv

<分区>

我正在编写我的 xml 文件的 csv,其中包含 Date 、 ID 、 title 、 Abstract 当我运行我的代码时,它正在将所有行写在一列中作为列表它不单独写列它写的像 - ["123, 2018,abs,ABC"] ["123,2018,abs,ABC"] 一栏不分开

代码:

import os 
import lxml.etree as ET 
from itertools import izip_longest as zip_longest

import csv

path = '/home/shayez/Desktop/project/kk'

listfile = []
files = os.listdir(path)
for name in files:

    listfile.append(name)


pmdata = []    

for name2 in listfile:


        full_file = os.path.abspath(os.path.join('project/kk',name2))
        dom = ET.parse(full_file)
        pmdat = dom.findall('PubmedArticle')
        pmdata.append(pmdat)                         

def Print_Data ():

    with open ('/home/shayez/Desktop/karim.csv','wt') as csvfile:
        writer = csv.writer(csvfile, delimiter = "\t")
        header = ['PMID','Date','Title','Abstract']
        writer.writerow(header)
        rows = []
        row = zip_longest(*rows, fillvalue = '')


        for d in pmdata:
            for c in d :
                PMID = c.find('MedlineCitation/PMID').text
                title = c.find('MedlineCitation/Article/ArticleTitle').text
                Date = c.find('MedlineCitation/Article/Journal/JournalIssue/PubDate/Year')
                Date2 = c.find('MedlineCitation/Article/Journal/JournalIssue/PubDate/MedlineDate')
                Abstract = c.find('MedlineCitation/Article/Abstract/AbstractText')


                if Abstract is None :
                     pass

                elif Date is None:
                    print PMID,"\t",Date2.text, "\t",title ,"\t",Abstract.text
                    rows.append([PMID,Date2.text,title,Abstract.text])

                else :

                    print PMID,"\t",Date.text, "\t",title ,"\t",Abstract.text
                    rows.append([PMID,Date.text,title,Abstract.text])

            writer.writerow(rows)

Print_Data()

最佳答案

类似doglol99说的,可以多加一个参数打印如下

print "test", "test", end="\n"

这只是解决问题的更高级方法。

关于python - csv 将所有行写入一列 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54136291/

相关文章:

.net - 如何防止 .NET 中的 XPath/XML 注入(inject)

android - 从 Android : Best Approach? 中的 4 个静态 CSV 文件读取数据

python - 将查询集转换为包含 JSON 值的字典

python - 将 RDD 转换为 DataFrame PySpark 时出现错误

python - 查找最大值及其索引以移动 numpy ndarray 子数组的 pythonic 方法是什么?

csv - 如何在 JMeter 的 while 循环中使用 CSV 数据集配置?

php - 导出到csv时如何获取特定的列名称?

javascript - SymPy 在 1&1 托管主机上安装

python - 使用 Python 解析(可能是非标准的)XML

c++ - 通用的 XML QDomElement 比较 - C++/Qt