【问题标题】:Python 2.0.7, write some values to csv file row by rowPython 2.0.7,将一些值逐行写入csv文件
【发布时间】:2015-01-30 07:10:48
【问题描述】:

我有很多列表,每个列表都有十二个值:

["0.0051", "-0.0351", ..., "0.0325"]
["0.0065", "0.0014", ..., "0.0851"] . . . ["0.0151", "0.0512", ... , "0.00917"]

每个列表都有一个 id 编号,例如 2、4、7、9...

我想将此列表逐行写入 csv 文件 (如果我们通过 excel 看到 csv 文件,每行有 12 个值,每行表示 id_number)

我只是这样编码的

if existed_id != cur_id:
       cur_ id = existed_id
       value_list.append("/n")
       with open ('outcome.csv', 'w') as csvfile:
                 g = csv.writer(csvfile, delimiter = ',')
                 data = value_list
                 g.writerow(data)

运行时,它没有完全写入我的 csv 文件。怎么了?

【问题讨论】:

  • value_list.append("/n") - 换行符是用反斜杠写的,但无论如何,csv.writer 不应该在它写的行中得到换行符。
  • 感谢您的回复,但您能向我解释一下如何获得我想要的结果吗?

标签: python list csv row


【解决方案1】:

如果您的 records 是列表 od 字符串的列表:

records = [["0.0051", "-0.0351", ..., "0.0325"],
           ["0.0065", "0.0014", ..., "0.0851"],
            . . .
           ["0.0151", "0.0512", ... , "0.00917"]`

那么下面的代码会写一个带有len(records)行的csv文件:

with open('outcome.csv', 'w') as csvfile:
    g = csv.writer(csvfile, delimiter=',')
    for record in records:
         g.writerow(data)

with open... 行创建了一个新文件(并覆盖了以前可能存在的文件),因此请确保不要将它放入循环记录中,因为最后只有最后一条记录会保存到文件中.

【讨论】:

    猜你喜欢
    • 2018-07-09
    • 2019-12-18
    • 2017-05-21
    • 1970-01-01
    • 1970-01-01
    • 2012-12-17
    • 2018-12-20
    • 2018-06-15
    • 1970-01-01
    相关资源
    最近更新 更多