python - rglob 将 CSV 批量转换为 TSV
问题描述
我有一个包含数百个 CSV 的文件夹,我需要将其转换为 TSV 以进行 Postgres 上传。
我写了这个脚本,但是当我运行它时似乎什么也没有发生。任何人都可以看到问题是什么?
import os
import sys
import csv
import pandas as pd
import numpy as np
import pathlib
for file in pathlib.Path().rglob('*.csv'):
with open(file,'r') as csvin, open(file + ".tsv", 'w') as tsvout:
csvin = csv.reader(csvin)
tsvout = csv.writer(tsvout, delimiter='\t')
for row in csvin:
tsvout.writerow(row)
解决方案
您正在导入熊猫...您可以尝试:
import os
import sys
import csv
import pandas as pd
import numpy as np
import pathlib
for file in pathlib.Path().rglob('*.csv'):
df = pd.from_csv(str(file))
df.to_csv(str(file.with_name(file.stem + ‘.csv’)), sep=‘\t’)
推荐阅读
- excel - Excel 公式未正确引用 - 公式正在修改
- dependencies - Terraform:在其他模块之前调用 null_resource (local-exec)
- python - 如何为 BERT 模型正确添加和返回索引
- java - 休眠:对实体的投影
- java - 如何在 Android Studios 中更新联系人的电话号码
- python - 检查json文件是否有条目
- python - 将新数据附加到 JSON
- scala - JMSConnection 序列化失败
- javascript - 如何使用 jest 测试包含数组的对象
- servicenow - 此评估意外失败,提供的类型无效