Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:将多个.log文件转换为.csv_Python_Csv_Logging - Fatal编程技术网

Python:将多个.log文件转换为.csv

Python:将多个.log文件转换为.csv,python,csv,logging,Python,Csv,Logging,我有174个.log文件需要转换成.csv。我是Python的中级初学者,但我想创建一些代码来在循环中完成它,而不是手动完成。所有输入文件都在一个文件夹中 我使用了课程和其他论坛的一些指针,下面的代码在输出文件夹中创建文件,但它们是空的。我想知道问题是否是由于同时使用'open'read/write&Pandascsv\u read/df.to\u csv造成的 我是遗漏了什么还是这里有错?我将感谢任何帮助和指点!我已经盯着它看了好几天了 正如我所说,我是一个初学者,只想通过学习Python使生

我有174个
.log
文件需要转换成
.csv
。我是Python的中级初学者,但我想创建一些代码来在循环中完成它,而不是手动完成。所有输入文件都在一个文件夹中

我使用了课程和其他论坛的一些指针,下面的代码在输出文件夹中创建文件,但它们是空的。我想知道问题是否是由于同时使用
'open'
read/write&Pandas
csv\u read/df.to\u csv
造成的

我是遗漏了什么还是这里有错?我将感谢任何帮助和指点!我已经盯着它看了好几天了

正如我所说,我是一个初学者,只想通过学习Python使生活变得更轻松:)

试试这个:

directory = input("Input folder:")
output = input("Output folder:")
txt_files = os.path.join(directory, '*.log')

for txt_file in glob.glob(txt_files):

    in_txt = pd.read_csv(input_file, names=['Subject','Trial','Event Type','Code','Time','TTime','Uncertainty','Duration','Uncertainty_1','ReqTime','ReqDur','Stim Type','Pair Index'], skiprows=1, delimiter='\t')
    df = pd.DataFrame(in_txt,columns=['Subject','Trial','Event Type','Code','Time','TTime','Uncertainty','Duration','Uncertainty_1','ReqTime','ReqDur','Stim Type','Pair Index'])
    filename = os.path.splitext(os.path.basename(txt_file))[0] + '.csv'

    filename = os.path.join(output, filename)

    df.to_csv(filename, index=False)

将open(os.path.join(output,filename),'wb')作为输出文件:如果
输出文件
从未在
with
块中使用,那么
有什么意义?我认为你可以把
一起删除,只留下
df。为了调试和测试,你应该删除循环,关注1个文件,然后一步一步地工作,直到你发现异常(即你的内容是空的)。此外,正如@ForceBru所提到的,您从未使用您想要编写的实际文件in@ForceBru我想更像是
df.to_csv(os.path.join(output,filename),index=False)
。下面的答案有用吗?请打印
filename
变量并检查它是否正确获取值。解决了问题。我错过了
os.path.join
这件事。已经更新。现在应该可以用了。请检查。实际上现在,所有输出文件都没有出现。您可以只打印
filename
变量,看看文件名是否正确吗?我已经重新启动了Jupyter,它现在似乎可以工作了!非常感谢。
directory = input("Input folder:")
output = input("Output folder:")
txt_files = os.path.join(directory, '*.log')

for txt_file in glob.glob(txt_files):

    in_txt = pd.read_csv(input_file, names=['Subject','Trial','Event Type','Code','Time','TTime','Uncertainty','Duration','Uncertainty_1','ReqTime','ReqDur','Stim Type','Pair Index'], skiprows=1, delimiter='\t')
    df = pd.DataFrame(in_txt,columns=['Subject','Trial','Event Type','Code','Time','TTime','Uncertainty','Duration','Uncertainty_1','ReqTime','ReqDur','Stim Type','Pair Index'])
    filename = os.path.splitext(os.path.basename(txt_file))[0] + '.csv'

    filename = os.path.join(output, filename)

    df.to_csv(filename, index=False)