【问题标题】:Python CSV output - additional formattingPython CSV 输出 - 附加格式
【发布时间】:2017-10-27 18:11:07
【问题描述】:

开始...Python新手...

我的第一个目标是读取 CSV 的第一行并输出。下面的代码很好地做到了。

import csv
csvfile = open('some.csv','rb')
csvFileArray = []
for row in csv.reader(csvfile, delimiter = ','):
    csvFileArray.append(row)
print(csvFileArray[0])

输出看起来像......

['Date', 'Time', 'CPU001 User%', 'CPU001 Sys%',......

我的第二个和第三个任务处理格式化。

因此,如果我希望 print(csvFileArray[0]) 输出包含分隔符的“双引号”,我该如何处理?

我想看看……

["日期","时间", "CPU001 用户%", "CPU001 系统%",......

我已经尝试过格式化 csvFileArray 字段,我所能做的就是添加前缀或附加数据。

我也研究了“方言”、“引用”等,但到处都是。

我的最后一项任务是将文本添加到每个值(到数组中)。

例子:

["测试日期","新时间", "红色 CPU001 用户%", "蓝色 CPU001 Sys%",......

我已经研究了很多方法来做到这一点,但我对多种方式感到很困惑。

我应该放弃阵列,因为这太受限制了吗?

找方向不一定有人帮我写。

谢谢。

好的.....对代码进行了一些改进,正在寻找方向,而不是直接解决方案(需要学习)。

import csv
with open('ba200952fd69 - Copy.csv', newline='') as csvfile:
  reader = csv.reader(csvfile)
  for row in reader:
    print (row)
    break

代码很好地读取了 CSV 的第一行并输出第一行如下:

['Date', 'Time', 'CPU001 User%', 'CPU001 Sys%',....

如果我想为该行中的每个/任何项目添加格式,我会在打印命令的引号内执行这些操作吗?示例:如果我希望每个项目都有双引号,或者前缀为“XXXX”等。

我已经阅读了 .join 类型命令等示例,并且确信格式化打印输出的方法比我知道的要简单得多。

再次,寻找方向,而不是立即的解决方案。

【问题讨论】:

  • 提供您在三个步骤中获得的输出
  • 你试过什么?请提供代码,以便人们可以指导您。
  • 关于你的第二个任务,有点不清楚你想要什么。您想将列表中的字符串用双引号括起来,还是想在执行print(csvFileArray[0]) 时看到双引号?
  • 我想在执行 print(csvFileArray[0]) 时输出双引号。
  • 看起来您实际上想要将您的列表转换为 JSON。这是你想要的吗 ?如果是,那么您可以(根据 Sandeep 的回答)json.dumps(words)。之前别忘了import json

标签: python export-to-csv


【解决方案1】:

对于您的第一项任务,我建议使用 next 函数来获取第一行,而不是遍历整个 csv。此外,查看with 块可能很有用,因为它们是处理打开和关闭文件的标准方式。

对于您的第二个问题,您似乎想更改打印语句的格式。请注意,它正在打印字符串,由数组中每个元素周围的单引号表示。这与 csv 模块无关,只是因为您正在打印一个字符串数组。要使用双引号打印,您必须重新格式化打印语句。您可以查看this 了解一些方法。

对于您的最后一个问题,我建议您查看列表推导。例如,

["Test " + word for word in words].

如果words = ["word1", "word2"],那么这将返回["Test word1", "Test word2"]

编辑:如果您想为数组中的每个值添加不同的值,您可以执行类似的操作。让prefixes 成为一个前缀数组,您要在同一索引位置添加到words 中的单词。然后您可以使用列表推导:

[prefix + " " + word for prefix, word in zip(prefixes, words)]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-12
    • 1970-01-01
    • 2014-04-08
    • 1970-01-01
    • 2018-09-09
    • 1970-01-01
    相关资源
    最近更新 更多