如何将逗号分隔值TXT转换为CSV以进行机器学习

时间:2017-11-01 20:16:37

标签: python numpy anaconda python-3.6 genfromtxt

如何将此格式的TXT文件转换为CSV文件?

Date,Open,high,low,close  
1/1/2017,1,2,1,2  
1/2/2017,2,3,2,3  
1/3/2017,3,4,3,4  

我相信你能明白吗?它已经具有逗号分隔值。 我尝试使用numpy。

>>> import numpy as np
>>> table = np.genfromtxt("171028 A.txt", comments="%")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Smith\AppData\Local\Continuum\anaconda3\lib\site-packages\numpy\lib\npyio.py", line 1551, in genfromtxt
    fhd = iter(np.lib._datasource.open(fname, 'rb'))
  File "C:\Users\Smith\AppData\Local\Continuum\anaconda3\lib\site-packages\numpy\lib\_datasource.py", line 151, in open
    return ds.open(path, mode)
  File "C:\Users\Smith\AppData\Local\Continuum\anaconda3\lib\site-packages\numpy\lib\_datasource.py", line 501, in open
    raise IOError("%s not found." % path)
OSError: 171028 A.txt not found.

我有(S&amp; P)500个txt文件来执行此操作。

2 个答案:

答案 0 :(得分:0)

您可以使用csv模块。您可以找到更多信息here

import csv

txt_file = 'mytext.txt'
csv_file = 'mycsv.csv'

in_txt = csv.reader(open(txt_file, "r"), delimiter=',')
out_csv = csv.writer(open(csv_file, 'w+'))

out_csv.writerows(in_txt)

答案 1 :(得分:0)

Per @ddlarke的评论,检查运行代码的目录。编码调用时,文件必须位于该目录中。当我在那里运行时,代码运行没有错误(尽管结果表是一行,有四个nan值)。当我将文件移到别处时,我很好地重现了你的错误。

将文件移动到本地,添加文件的本地链接,或更改程序中的文件名以使用文件的正确路径(相对或绝对)。