我能用python打印文件。 我有一个这种形式的字典:
dict['name']=x
dict['list']="\n".join(mylist)
当我在文件上打印时,我没有一行,但我的号码与“\ n”的号码相同。
我如何拥有此表单的文件:
name1 item1
item2
item3
name2 item1
item2
name3 item1
item2
...
感谢您的回答
使用该代码编辑我有:
name1 item1
item2
item3
name2 item1
item2
name3 item1
item2
Intead我希望我在excel时能按下ALT + ENTER
EDIT2:
如果我有CSV文件,我想要这个:
CELL A:1 with name1
CELL B:1 with item1\nitem2\nitem3
CELL A:2 with name2
CELL B:2 with item\nitem2
...
答案 0 :(得分:0)
假设字典将字符串映射到列表。
d = {'a': [1,2,3], 'b': [1,2,3]}
for k in d:
name = k
for item in d[k]:
print('{:<5} {:<5}'.format(name, item))
name = ''
输出:
a 1
2
3
b 1
2
3
要使用此文件打印到文件,我们将打开该文件,然后使用print
with open('filename.txt', 'w+') as f:
for k in d:
name = k
for item in d[k]:
print('{:<5} {:<5}'.format(name, item), file=f)
name = ''
'{:<5} {:<5}'
是format specification mini-language的基本用法。所有它真正说的是“我希望将format
的两个参数格式化为宽度为5,左对齐并用空格分隔”。我建议你在网上浏览format
的例子,当你知道如何使用它时它会非常强大。
csv
文件。您需要使用引号字符,以便文件知道换行符不是新行的开头
import csv
d = {'a': [1,2,3], 'b': [1,2,3]}
with open('filename.csv', 'w+', newline='') as f:
w = csv.writer(f, quotechar='"')
for k in d:
name = k
item = '\n'.join(i for i in d[k])
w.writerow([str(k), item])