Python CSV输出 - 其他格式

时间:2017-10-27 18:11:08

标签: python export-to-csv

开始...... Python noob ......

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

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

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

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

我的第二和第三项任务涉及格式化。

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

我想看看......

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

我使用格式化csvFileArray字段,我可以做的就是添加或附加数据。

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

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

示例:

[“测试日期”,“新时间”,“红色CPU001用户%”,“蓝色CPU001系统%”,......

我已经研究了很多方法来实现这一目标,但我已经采取了多种方式。

我是否应该抛弃数组,因为这太过限制了?

寻找方向并不一定是有人为我写的。

感谢。

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

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

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

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

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

我已经阅读了.join类型命令等的示例,并且我确信有更简单的方法来格式化打印输出,而不是我所知道的。

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

1 个答案:

答案 0 :(得分:1)

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

对于第二个问题,看起来您想要更改print语句的格式。请注意,它是打印字符串,由数组中每个元素周围的单引号指示。这与csv模块无关,只是因为你打印了一个字符串数组。要使用双引号打印,您必须重新格式化print语句。您可以通过某些方式查看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)]