python-3.x - 如何使用 Python3 将目录中的多个 CSV 文件转换为管道分隔的文本文件
问题描述
所以我是 Python(3) 的新手,需要创建一个循环,该循环将遍历近 200 个 CSV 文件,并将它们分别转换为一个以管道分隔的 .txt 文件(具有相同的名称)。
我有对 1 个文件执行此操作的代码并且可以完美运行:
import csv
with open('C:/Path/InputFile.csv', 'r') as fin, \
open('C:/Path/OutputFile.txt', 'w') as fout:
reader = csv.DictReader(fin)
writer = csv.DictWriter(fout, reader.fieldnames, delimiter='|')
writer.writeheader()
writer.writerows(reader)
提前致谢。
解决方案
您可以将代码修改为:
for in_name, out_name in zip(list_of_in_names, list_of_out_names):
with open(in_name, 'r') as fin, open(out_name, 'w') as fout:
...
您要分别读取和写入的文件的位置和list_of_in_names
名称。list_of_out_names
编辑:要解决评论中的问题,您可以使用该pathlib
库:
from pathlib import Path
for in_path in Path('C:/Path').glob('*.csv'):
out_path = in_path.with_suffix('.txt')
with in_path.open('r') as fin, out_path.open('w') as fout:
...
推荐阅读
- maven - 如何在 POM 的本地磁盘中添加指向 JAR 的插件?
- mysql - 选择 distinct 在 mysql 上花费大量时间
- java - 找不到文件错误Google Drive API:Springboot
- vue.js - 如何在 vue 中设置用户创建的子域?
- nosql - DynamoDbEnhancedClient.BatchWriteItem(Dynamo DB 版本 2)和 DynamoDBMapper.BatchSave(版本 1)之间的区别
- python - 将 JSON 文件转换为表格格式
- c++ - 如果模板参数具有特定运算符,则启用函数
- python - 带有 pytest 的 sklearn 导致致命的 Python 错误:分段错误
- java - ElasticSearch - 内部 lucene 文件删除永远挂起
- android - 如何在 Android Pie 中禁用深色主题?(Android 10 之前)