在 Python 中将制表符分隔值写入文件
Writing tab-separated values to a File in Python
将制表符分隔值写入文件:
- 以写入模式打开文件。
- 使用该
\t
字符在字符串中插入制表符。 - 使用
file.write()
方法将字符串写入文件。
主程序
# ✅ write strings separated by tabs to file with open('example.txt', 'w', encoding='utf-8') as my_file: my_file.write('bobby' + '\t' + 'hadz' + '\n') my_file.write('first\tsecond') # ✅ separate the items of a list by tabs and write the result to a file with open('example.txt', 'w', encoding='utf-8') as my_file: my_list = ['bobby', 'hadz', 'com'] my_file.write('\t'.join(my_list) + '\n')
我们使用该with
语句以写入模式打开文件。
该with
语句会自动为我们关闭文件。
如果您只需要在字符串中插入制表符,请使用\t
字符。
主程序
with open('example.txt', 'w', encoding='utf-8') as my_file: my_file.write('bobby' + '\t' + 'hadz' + '\n') my_file.write('first\tsecond')
该example.txt
文件的内容如下所示。
例子.txt
bobby hadz first second
您可以阅读该文件以验证它是否包含选项卡。
主程序
with open('example.txt', 'r', encoding='utf-8') as f: lines = f.readlines() print(lines) # 👉️ ['bobby\thadz\n', 'first\tsecond']
如果需要在字符串后添加新行,可以使用\n
字符。
如果需要用制表符分隔列表项并将结果写入文件,请使用
str.join()
方法。主程序
with open('example.txt', 'w', encoding='utf-8') as my_file: my_list = ['bobby', 'hadz', 'com'] my_file.write('\t'.join(my_list) + '\n')
str.join方法将一个可迭代对象作为参数并返回一个字符串,该字符串是可迭代对象中字符串的串联。
请注意,TypeError
如果可迭代对象中有任何非字符串值,该方法将引发 a。
如果您的 iterable 包含数字或其他类型,请在调用之前将所有值转换为字符串join()
。
主程序
with open('example.txt', 'w', encoding='utf-8') as my_file: my_list = ['bobby', 1, 'hadz', 2, 'com'] my_file.write('\t'.join(str(item) for item in my_list) + '\n')
调用该方法的字符串用作元素之间的分隔符。
str.join()
我们在包含制表符的字符串上调用该方法,以使用制表符分隔符连接列表中的元素。
该文件的内容如下所示。
例子.txt
bobby 1 hadz 2 com
或者,您可以访问索引处的每个列表项并使用加法 (+) 运算符。
主程序
with open('example.txt', 'w', encoding='utf-8') as my_file: my_list = ['bobby', 1, 'hadz', 2, 'com'] my_file.write( my_list[0] + '\t' + str(my_list[1]) + '\t' + my_list[2] + '\t' + str(my_list[3]) + '\t' + my_list[4] + '\n' )
加法 (+) 运算符可用于连接字符串。
但是,您必须确保运算符左右两侧的值是字符串类型。
如果您有不同类型的值,请使用str()
该类将它们转换为字符串。
您还可以使用for
循环遍历列表并在每个项目之后添加一个选项卡。
主程序
with open('example.txt', 'w', encoding='utf-8') as my_file: my_list = ['bobby', 1, 'hadz', 2, 'com'] for word in my_list: my_file.write(str(word) + '\t') my_file.write('\n')
for
循环遍历列表并使用加法 (+) 运算符在每个项目后添加一个制表符。
最后一步是将换行符 ( \n
) 写入文件。