1

特定のフォルダーに、同じデータ形式/構造に従う複数のテキスト ファイルがあるプロセスを自動化しようとしています。テキスト ファイルでは、データはコンマで区切られます。これらすべてのテキスト ファイルを 1 つの累積的な csv ファイルに出力できるようにしたいと考えています。これは私が現在持っているものであり、Python の知識が不足しているため、私がどこにいても立ち往生しているようです。

from collections import defaultdict
import glob

def get_site_files():
    sites = defaultdict(list)
    for fname in glob.glob('*.txt'):

csv_out = csv.writer(open('out.csv', 'w'), delimiter=',')

f = open('myfile.txt')
for line in f:
  vals = line.split(',')
  csv_out.writerow()
f.close()

編集: コメントの表示: myfile.txt だけでなく、すべてのテキスト ファイルが読み取られるようにしたい。

また、それらすべてを 1 つの大きな .txt ファイルに結合して、それらを csv にすることもできれば、これを行う正確な方法がわかりません。

4

3 に答える 3

0

別の方法を試すこともできます。

os.listdir() を一度使用しました。これにより、ディレクトリ内のすべてのファイルのリストが表示されます。os.path.join と組み合わせて、特定のディレクトリ内のすべての *.csv ファイルを管理できます。

いくつかの追加情報は、参照に記載されています: osおよびos.path

したがって、ディレクトリ内のすべてのファイルをループして (".csv" で終わるファイルを検索します)、それぞれについて、リストの各行を文字列として保存し、文字列を列区切り文字で区切り、make ", " に "。" 左の文字列で、文字列を再度連結します。その後、リストの各行を使用したい出力ファイルにプッシュします

Pythonの全機能に関する情報については、 Python 標準ライブラリを初心者に強くお勧めします ;)

それが役立つことを願っています;)

于 2013-08-13T15:22:07.473 に答える