在 Python 中将元组列表写入文件
Write a list of tuples to a File in Python
将元组列表写入文件:
- 使用
with
语句打开文件。 - 使用
write()
文件对象上的方法将元组列表写入文件。 - 该
with
语句负责自动关闭文件。
主程序
import csv list_of_tuples = [(1, 'one'), (2, 'two'), (3, 'three')] # ✅ Write list of tuples to text file (formatted string literal) with open('example.txt', 'w', encoding='utf-8') as f: f.write('\n'.join(f'{tup[0]} {tup[1]}' for tup in list_of_tuples)) # -------------------------------------------- # ✅ Write list of tuples to text file (str.format()) with open('example.txt', 'w', encoding='utf-8') as f: f.write('\n'.join('{} {}'.format(*tup) for tup in list_of_tuples)) # -------------------------------------------- # ✅ Write list of tuples to CSV file with open('example.csv', 'w', encoding='utf-8') as f: writer = csv.writer(f, delimiter=" ", skipinitialspace=True) for tup in list_of_tuples: writer.writerow(tup)
with open()
即使引发异常,语法也会自动关闭文件。第一个示例使用格式化字符串文字来格式化元组的内容。
主程序
list_of_tuples = [(1, 'one'), (2, 'two'), (3, 'three')] with open('example.txt', 'w', encoding='utf-8') as f: f.write('\n'.join(f'{tup[0]} {tup[1]}' for tup in list_of_tuples))
我们打开了一个名为example.txt
写入模式的文件。
我们使用格式化字符串文字来访问每个元组中的值。
格式化字符串文字 (f-strings) 让我们通过在字符串前加上
f
.主程序
my_str = 'is subscribed:' my_bool = True result = f'{my_str} {my_bool}' print(result) # 👉️ is subscribed: True
确保将表达式括在大括号 –{expression}
中。
列表中的元组包含 2 个元素。如果您的元组包含更多元素,请确保将它们包含在 f 字符串中。
我们使用该str.join()
方法使用换行符 ( \n
) 分隔符连接字符串。
运行脚本后,该example.txt
文件在单独的行中包含每个元组的内容。
例子.txt
1 one 2 two 3 three
或者,您可以使用该str.format()
方法。
主程序
list_of_tuples = [(1, 'one'), (2, 'two'), (3, 'three')] with open('example.txt', 'w', encoding='utf-8') as f: f.write('\n'.join('{} {}'.format(*tup) for tup in list_of_tuples))
代码示例使用该str.format()
方法而不是格式化字符串文字。
str.format方法
执行字符串格式化操作。
主程序
result = '{} {}'.format('hello', 'world') print(result) # 👉️ 'hello world'
调用该方法的字符串可以包含使用花括号指定的替换字段{}
。
确保为该
format()
方法提供的参数与字符串中的替换字段一样多。例如,如果列表中的元组包含 3 个元素,请确保指定 3 个替换字段。
在 Python 中将元组列表写入 CSV 文件
将元组列表写入 CSV 文件:
- 使用该
with
语句打开 CSV 文件。 - 使用对象
writerow()
上的方法将writer
元组列表写入文件。 - 该
with
语句负责自动关闭文件。
主程序
import csv list_of_tuples = [(1, 'one'), (2, 'two'), (3, 'three')] with open('example.csv', 'w', encoding='utf-8') as f: writer = csv.writer(f, delimiter=" ", skipinitialspace=True) for tup in list_of_tuples: writer.writerow(tup)
我们打开了一个名为example.csv
写入模式的文件。
csv.writer方法返回一个用于writer
将数据转换为分隔字符串的对象。
我们为delimiter
参数使用了一个空格,因此每个元组的元素都由空格分隔。
例子.csv
1 one 2 two 3 three
如果需要用逗号分隔元组的元素,可以将
delimiter
关键字参数设置为逗号。当skipinitialspace
参数设置为True
时,紧跟在定界符后面的空格将被忽略。