Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.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将txt转换为CSV:为什么我会得到额外的空行?_Python_Export To Csv - Fatal编程技术网

通过python将txt转换为CSV:为什么我会得到额外的空行?

通过python将txt转换为CSV:为什么我会得到额外的空行?,python,export-to-csv,Python,Export To Csv,我想将.txt文件转换为CSV格式。下面是我的.txt文件中的示例: 0 1 1 346 5 10 以下是我正在使用的代码: import csv txtfile = r"file.txt" csvfile = r"file.csv" with open(txtfile, 'r') as infile, open(csvfile, 'w') as outfile: stripped = (line.strip() for line in infi

我想将.txt文件转换为CSV格式。下面是我的.txt文件中的示例:

0 1
1 346
5 10
以下是我正在使用的代码:

import csv
txtfile = r"file.txt"
csvfile = r"file.csv"
with open(txtfile, 'r') as infile, open(csvfile, 'w') as outfile:
    stripped = (line.strip() for line in infile)
    lines = (line.split() for line in stripped if line)
    writer = csv.writer(outfile)
    writer.writerows(lines)
因此,我在每一行后面都会有一个空行(=>所有偶数行都是空的): . 但是,在.txt文件中没有空行


有人能帮我弄清楚为什么我会在CSV文件中得到这些额外的空行吗?

CSV.writer(outfile)
应该是
CSV.writer(outfile,newline='')
。这告诉csv编写器使用空字符串作为换行符。这意味着它不使用新行。

我建议使用
pandas
的方法,您可以将文本文件读入
数据框
,然后将其写入CSV文件:

import pandas as pd

df = pd.read_table('file.txt', sep='\s', engine='python', header=None)
df.to_csv('file.csv', header=False, index=False)

这可能有点过头了,但绝对值得学习
pandas

txt到csv转换的原因是什么?如果你只想通过一个扩展软件打开文件,你可以考虑重命名文件扩展名并相应地设置导入选项。是的,那正是我的问题,非常感谢!我以前没找到这根线。嗨,阿尔伯特!谢谢你的评论。在txt文件中,我有一个有向图的边列表:第一列是头,第二列是尾。使用它,我可以计算这个图的强连接组件,所以我认为CSV格式比txt格式更方便地解决这个任务。我需要将“head”和“tails”放在不同的列中,而重命名文件扩展名会将整个raw放在第一列的一个单元格中;因此,不幸的是,简单的重命名在这里并没有真正的帮助。潜在的问题似乎与您的数据导入选项有关。将扩展名从csv重命名为txt不会更改文件内容。此外,txt和csv在技术上是相同的(包含数据的纯文本文件)。谢谢!我还使用了buran上面提到的一个链接,所以我在这里添加了新行:
with。。。打开(csvfile,'w',newline='')作为outfile:
感谢您的评论和建议<代码>熊猫是我绝对需要学习的东西。