小编ZZM*_*ike的帖子

如何在Python中打开文件列表

我正在读取数据文件(文本),并生成许多报告,每个报告都写入不同的输出文件(也是文本).我正在打开它们:

fP = open('file1','w')

invP = open('inventory','w')

orderP = open('orders','w')

......等等,最后有一组相应的close()行.

如果我可以使用for循环打开它们,使用fP名称和文件名列表,我可以保证关闭相同的文件.

我尝试使用字典fp:filename,但[显然]不起作用,因为fP变量未定义,或字符串'fP'不是一个好的文件对象名称.

由于这些是输出文件,我可能不需要检查打开错误 - 如果我无法打开一个或多个,我无论如何都无法继续.

有没有办法在循环中从名称列表中打开一组文件(不超过10个左右)?

python file

7
推荐指数
4
解决办法
1万
查看次数

csv.writerows()在每行之后放置换行符

这是O'Reilly Cookbook(截断数据集)的一个例子

headers = ['Symbol','Price','Date','Time','Change','Volume']
rows = [{'Symbol': 'AA', 'Volume': 181800, 'Change': -0.18,
         'Time': '9:36am', 'Date': '6/11/2007', 'Price': 39.48},
        {'Symbol': 'AIG', 'Volume': 195500, 'Change': -0.15,
         'Time': '9:36am', 'Date': '6/11/2007', 'Price': 71.38} ]

with open('stocks2.csv','w') as f:
    f_csv = csv.DictWriter(f, headers)
    f_csv.writeheader()
    f_csv.writerows(rows)
Run Code Online (Sandbox Code Playgroud)

输出文件\n在每行的末尾都有一个,显然在结尾处还有一个.当我将它带入Excel时,每行之间会出现空白行.如果我用Notepad ++打开它也一样.

但是,如果我more从命令行,\n不显示.

\n在文件的末尾看到了关于a的另一个问答- 但这个问题\n在每一行的末尾都是关于a 的.(我不明白为什么more不给\n.)

我计划将文件带入OpenOffice Calc.

python csv python-3.x

6
推荐指数
3
解决办法
1万
查看次数

Python:对alpha不区分大小写的顺序排序元组列表

我有一个元组列表("twoples")

[('aaa',2), ('BBB',7), ('ccc',0)]
Run Code Online (Sandbox Code Playgroud)

我需要按顺序打印它,但是

>>> sorted([('aaa',2), ('BBB',7), ('ccc',0)])
Run Code Online (Sandbox Code Playgroud)

[('BBB', 7), ('aaa', 2), ('ccc', 0)]

list.sort(key=str.tolower)
Run Code Online (Sandbox Code Playgroud)

(显然)不起作用,因为

AttributeError: type object 'str' has no attribute 'tolower'
Run Code Online (Sandbox Code Playgroud)

我不想更改列表中的字符串.

另一个答案给了

list.sort(key=lambda (a, b): (a.lower(), b))
Run Code Online (Sandbox Code Playgroud)

但那必须是Python 2的东西,因为

SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

... 一开始 (

itemgetter()没有用,因为只允许一个'key'

python sorting list

3
推荐指数
1
解决办法
259
查看次数

标签 统计

python ×3

csv ×1

file ×1

list ×1

python-3.x ×1

sorting ×1