CSV文件到lis

2024-03-28 22:47:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个CSV文件,它由第一列中的单词组成。(每行1个字)

我需要打印这些单词的列表,即

CSV文件:

a
and
because
have

需要的输出:

^{pr2}$

我正在使用python,到目前为止,我有以下代码:

text=open('/Users/jessieinchauspe/Dropbox/Smesh/TMT/zipf.csv')
text1 = ''.join(ch for ch in text)
for word in text1:
    print  '"' + word + '"' +','

这是返回:

"a",
"",
"a",
"n",
...

而我需要的是一行字,不是按字符而是用词。 谢谢你的帮助!

编辑:这是CSV文件预览的屏幕截图 preview of the CSV file


Tags: and文件csv代码textin列表for
3条回答

当您这样做时: text=打开('/Users/jessieinchauspe/Dropbox/Smesh/TMT/zipf.csv版') 它基本上返回一个迭代器,每一行都作为一个元素。如果你想要一个列表,并且你确定每行只有一个单词,你需要做的就是

  result=list(text)
  print result

否则,第一个单词只能这样:

^{pr2}$

您还可以使用CSV模块:

import csv

input_f = '/Users/jessieinchauspe/Dropbox/Smesh/TMT/zipf.csv'
output_f = '/Users/jessieinchauspe/Dropbox/Smesh/TMT/output.csv'

with open(input_f, 'r') as input_handle, open(output_f, 'w') as output_handle:
    writer = csv.writer(output_handle)
    writer.writerow(list(input_handle))

直接循环文件:

with open('/Users/jessieinchauspe/Dropbox/Smesh/TMT/zipf.csv') as text:
    print ','.join('"{0}"'.format(word.strip()) for word in text)

上述代码:

  • 在文件上循环;这将给您一行(包括换行符\n字符)。在
  • 使用.strip()删除单词周围的空白(包括换行符)。在
  • 使用.format()将单词放在引号中('word'变成{})
  • 使用','.join()将所有带引号的单词连接到一个列表中,中间用逗号隔开。在

相关问题 更多 >