Python优先字符串,每个字符之间有空格
我有一个简单的python脚本:Python优先字符串,每个字符之间有空格,python,powershell,Python,Powershell,我有一个简单的python脚本: with open("records.csv", "r") as f: for line in f: print line records.cvs包含许多行,如下所示 ,0.055,,,,,109.889456433119.043269058128.455997141,,,-0.607526459169,-1.28987216622,-1.36255539212,-0.0783128865694,-0.07459223352488,-0
with open("records.csv", "r") as f:
for line in f:
print line
records.cvs
包含许多行,如下所示
,0.055,,,,,109.889456433119.043269058128.455997141,,,-0.607526459169,-1.28987216622,-1.36255539212,-0.0783128865694,-0.07459223352488,-0.0722692557059,0.325311331044,0.61140286319,0.050961014105,0.7195563734
但是,我们上面的脚本在字符之间用空格打印以下输出
■, 0 . 0 5 5 , , 1 0 9 . 8 8 9 4 5 6 4 3 3 , 1 1 9 . 0 4 3 2 6 9 0 5 8 , 1 2 8 . 4 5 5 9 9 7 1 4 1 , , - 0 . 6 0 7 5 2 6 4 5 9 1 6 9 , - 1 . 2 8 9 8 7 2 1 6 6 2 2 , - 1 .
3 6 2 5 5 5 3 9 2 1 2 , - 0 . 0 7 8 3 1 2 8 8 6 5 6 9 4 , - 0 . 0 7 4 5 9 2 3 3 5 2 4 8 8 , - 0 . 0 7 2 2 6 9 2 5 5 7 0 5 9 , 0 . 3 2 5 3 1 1 3 3 1 0 4 4 , 0 . 6 1 1 4 0 2 8 6 3 1
, 0 . 0 5 0 9 6 6 1 0 1 4 1 0 5 , 0 . 719556483734
为什么输出有空格,我们如何删除它们。也许您的意思是使用
csv.reader
:
import csv
with open("records.csv", "r") as f:
csvin = csv.reader(f)
for line in csvin:
print line
行
将是CSV文件中每一行的列列表,您可以按自己的意愿处理这些列(例如,可能将每一行转换为整数/浮点)
请先尝试筛选出无可打印字符
重新导入
,并在使用语句导入后,更改为:
lines = (re.sub('[^-0-9.,]', '', line) for line in f)
csvin = csv.reader(lines)
也许您想使用
csv.reader
:
import csv
with open("records.csv", "r") as f:
csvin = csv.reader(f)
for line in csvin:
print line
行
将是CSV文件中每一行的列列表,您可以按自己的意愿处理这些列(例如,可能将每一行转换为整数/浮点)
请先尝试筛选出无可打印字符
重新导入
,并在使用语句导入后,更改为:
lines = (re.sub('[^-0-9.,]', '', line) for line in f)
csvin = csv.reader(lines)
我无法复制你的结果。我创建了一个文件,其中有许多行与您示例中的行相同,但尽管它在行之间打印空行(一行用于行尾,另一行用于
打印
),但字符之间没有空格
请注意打印行开头的有趣的方形符号?文件的编码可能有问题。我无法重现您的结果。我创建了一个文件,其中有许多行与您示例中的行相同,但尽管它在行之间打印空行(一行用于行尾,另一行用于
打印
),但字符之间没有空格
请注意打印行开头的有趣的方形符号?文件的编码可能有问题。
打印行,
而不是打印行
?无法复制。它打印行与行之间的空行,但字符之间没有空格。那个有趣的方形符号是什么?可能是编码问题?@segfoltprint line,
无法解决问题。@tobias\k你说得对。似乎编码设置为Little-Endian
。请回答您的意见,我会接受您的回答。@code>是否愿意解释否决票?打印行,
而不是打印行
?无法复制。它打印行与行之间的空行,但字符之间没有空格。那个有趣的方形符号是什么?可能是编码问题?@segfoltprint line,
无法解决问题。@tobias\k你说得对。似乎编码设置为Little-Endian
。把你的评论作为答案,我会接受它。@RandomDownvoter是否愿意解释否决票?我以前试过,但遇到了错误\u csv。错误:行包含空字节
,但我会继续查找。@andre可能值得尝试过滤掉那些不是-
、
或的内容,
或一个数字
,只要使用它们……我有了正确的编码,您的初始解决方案就可以很好地工作。我以前尝试过这个方法,但遇到了错误\u csv。错误:行包含空字节
,但我会继续查找。@andre可能值得尝试过滤掉那些不是-
的内容,
或一个,
或一个数字
,只需使用这些…您的初始解决方案工作得非常好,现在我有了正确的编码。