【问题标题】:Exporting Python List to CSV in "column" format以“列”格式将 Python 列表导出为 CSV
【发布时间】:2014-08-16 06:16:31
【问题描述】:

现在我有 Python 3 代码,它获取 CSV 文件中的一列数据,然后根据空格将每个单元格中的短语分隔为单个单词。

我现在要做的是将数据以 Column 格式导出回 CSV 文件,这样每个单元格都包含一个单词

Keyword
Lions
Tigers
Bears
Dog
Cats

现在,我的代码将数据导出到 CSV 文件,但不是以列格式出现,而是以行的形式出现。

Keyword    Lions    Tigers     Bears     Dog    Cats

当我在解释器中打印我的代码时,它以列格式正确显示,但在我导出时却没有!这是我的代码

with open(b'C:\Users\j\Desktop\helloworld.csv', 'r') as datafile:
    data = []
    for row in datafile:
        data.extend(item.strip() for item in row.split())
with open('test.csv', 'w') as a_file:
    for result in data:
        result = ''.join(result)
        a_file.write(result + ',')
        print(result)

有人知道如何转置数据吗?谢谢!

【问题讨论】:

  • 什么是data?您能否将print(data) 的输出添加到帖子中?

标签: python csv python-3.x export-to-csv


【解决方案1】:

从 2.3 版开始,Python 已经有了a builtin module for parsing csv data。你有什么理由不能使用它吗?

但是,要给出答案,特别是在您的代码上,我注意到以下几点:

    a_file.write(result + ',')
    print(result)

您正在将数据写入附加逗号的文件,并将其单独打印到命令行。所以它显示在命令行上,每一行都有一个输出,但它被打印到文件中:

result1,result2,result3,result4...

所有 CSV 文件都略有不同,但逗号通常分隔字段,而换行符分隔行。你得到的正是你输出的内容:一行包含你所有的值,在单独的逗号分隔的字段中。试试这个:

    a_file.write(result + '\n')

如果你使用的是 Python 3,那么你也可以使用 print 函数:

    print(result, file=a_file)

【讨论】:

    【解决方案2】:

    你可以使用

    "\n"
    

    让它写在下一行。

    with open(b'C:\Users\j\Desktop\helloworld.csv', 'r') as datafile:
      data = []
      for row in datafile:
        data.extend(item.strip() for item in row.split())
    with open('test.csv', 'w') as a_file:
      for result in data:
        result = ''.join(result)
        a_file.write(result + '\n')  <--
        print(result)
    

    【讨论】:

    • 太棒了——简单有效!
    【解决方案3】:

    我不知道result看起来像什么,但我想说你需要指定你想去下一行:

    with open('test.csv', 'w') as a_file:
        for result in data:
            result = ''.join(result)
            a_file.write(result + ',') # if you want to keep the coma, or replace ',' by '\n'
            a_file.write("\n")
            print(result)
    

    但是,您的输出中没有昏迷很奇怪,希望这对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-20
      • 2019-05-29
      • 2015-11-06
      • 2019-11-09
      • 2012-05-18
      • 1970-01-01
      • 1970-01-01
      • 2018-04-18
      相关资源
      最近更新 更多