我有这个输入文件:
one\tone
two\ttwo
three\tthree
每个单词之间都有一个标签。
我正在尝试将其保存在csv文件中,其中每个单词最终都在自己的单元格中。这是我的代码:
import csv
input = open('input.txt').read()
lines = input.split('\n')
with open('output.csv', 'w') as f:
writer = csv.writer(f)
for line in lines:
writer.writerow([line])
然而,这两个词最终都出现在同一个单元格中:
如何更改代码,以便每个单词最终都在自己的单元格中?
答案 0 :(得分:1)
试试这个:
func Test_ChangeUserName_Stores_Changed_User(t *testing.T) {
u := &user.User{ID: 1, Name: 'Bob'}
r := mocks.UserRepository{Users: []*user.User{u}}
err := user.ChangeUserName(1, 'Fred', r)
// ...
}
答案 1 :(得分:1)
您需要将输入行拆分为一个列表,以便csv.writer()
将它们放入单独的列中。尝试:
with open('output.csv', 'w') as f:
writer = csv.writer(f)
for line in lines:
writer.writerow(line.split('\t'))
答案 2 :(得分:1)
CSV writer library中的writerow
方法会获取列列表。
目前,您正在为整个字符串提供第一列的值
writer.writerow([line])
相反,请尝试按\t
分割字符串,从而创建每个单词的列表,并将其提供给库。
writer.writerow(line.split("\t"))