在 Python 中将元组列表写入文件

在 Python 中将元组列表写入文件

Write a list of tuples to a File in Python

将元组列表写入文件:

  1. 使用with语句打开文件。
  2. 使用write()文件对象上的方法将元组列表写入文件。
  3. 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 文件:

  1. 使用该with语句打开 CSV 文件。
  2. 使用对象writerow()上的方法将writer元组列表写入文件。
  3. 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时,紧跟在定界符后面的空格将被忽略。

发表评论