我有一个CSV文件,它由第一列中的单词组成。 (每行1个字)
我需要打印这些单词的列表,即
CSV文件:
a
and
because
have
想要输出:
"a","and","because","have"
我正在使用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文件预览的屏幕截图
答案 0 :(得分:4)
直接循环遍历文件:
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'
变为'"word"'
)','.join()
将所有引用的单词合并为一个列表,其中包含逗号。答案 1 :(得分:1)
当你这样做时: 文本=开放( '/用户/ jessieinchauspe /升降梭箱/ Smesh / TMT / zipf.csv') 它基本上返回一个迭代器,每行作为一个元素。如果你想要一个清单,你确定每行只有一个单词而不是你需要做的就是
result=list(text)
print result
否则你只能这样得到第一句话:
result = list(x.split(',')[0] for x in text)
print result
答案 2 :(得分:1)
您也可以使用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))
答案 3 :(得分:0)
如果在print语句的末尾加上逗号,则会抑制换行符。
print '"' + word + '"' +',',
将在一行上为您提供输出。
答案 4 :(得分:0)
print ','.join('"%s"' % line.strip() for line in open('/tmp/test'))