繁体   English   中英

如何编写使一列csv文件的Python代码?

[英]How to write Python code that makes one column csv file?

我有500000个数值txt文件。

  -938.549927    
  -938.542419    
  -938.534912    
  -938.523621    
  -938.523621    
  -938.512329    
  -938.512329    
  -938.523621    
  -938.519836    
  -938.523621    
  -938.519836    
  -938.508606    
  -938.508606    
  -938.508606    
  -938.519836    
  -938.531128    
  -938.538635   

我想将其另存为csv文件。

import csv

lines = [line.rstrip('\n') for line in open('d500.txt')]

myfile = open('n500.csv', 'wb')
wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
wr.writerow(lines)

我懂了

wc -l n500.csv
1 n500.csv

只是文件的一部分

358337    ","  -938.362061    ","  -938.369568    ","  -938.369568    ","  -938.369568    ","  -938.380859    ","  -938.377075    ","  -938.380859    ","  -938.373352    ","  -938.347046    ","  -938.343262    ","  -938.339539    ","  -938.324524    ","  -938.313232    ","  -938.328247    ","  -938.320740    ","  -938.320740    ","  -938.328247    ","  -938.324524    ","  -938.324524    ","  -938.316956  

我真正想要的是这样的东西

 -938.316956   
 -938.316956   
 -938.313232  

如果我尝试

wr.writerows(lines)

格式很疯狂

" "," ","-","9","3","8",".","3","1","3","2","3","2"," "," "," "," "
" "," ","-","9","3","8",".","3","2","8","2","4","7"," "," "," "," "
" "," ","-","9","3","8",".","3","2","0","7","4","0"," "," "," "," "
" "," ","-","9","3","8",".","3","2","0","7","4","0"," "," "," "," "
" "," ","-","9","3","8",".","3","2","8","2","4","7"," "," "," "," "
" "," ","-","9","3","8",".","3","2","4","5","2","4"," "," "," "," "
" "," ","-","9","3","8",".","3","2","4","5","2","4"," "," "," "," "
" "," ","-","9","3","8",".","3","1","6","9","5","6"," "," "," "," "
" "," ","-","9","3","8",".","3","1","3","2","3","2"," "," "," "," "
" "," ","-","9","3","8",".","3","1","3","2","3","2"," "," "," "," "
" "," ","-","9","3","8",".","3","0","9","4","4","8"," "," "," "," "
" "," ","-","9","3","8",".","3","1","6","9","5","6"," "," "," "," "
" "," ","-","9","3","8",".","3","1","6","9","5","6"," "," "," "," "
" "," ","-","9","3","8",".","3","1","3","2","3","2"," "," "," "," "

我的新代码版本

import csv

lines = [[line.rstrip('\n')] for line in open('d500.txt')]

myfile = open('n500.csv', 'wb')
wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
wr.writerows(lines)

比我得到

"  -938.324524    "
"  -938.313232    "
"  -938.328247    "
"  -938.320740    "
"  -938.320740    "
"  -938.328247    "
"  -938.324524    "
"  -938.324524    "
"  -938.316956    "
"  -938.313232    "
"  -938.313232    "
"  -938.309448    "
"  -938.316956    "
"  -938.316956    "
"  -938.313232    "

如何摆脱引号?

在循环内使用writeline

import csv

with open('n500.csv', 'wb') as myfile:
    wr = csv.writer(myfile)
    [wr.writerow(line.rstrip('\n')) for line in open('d500.txt')]

with语句处理文件关闭。

您要做的就是将.txt重命名为.csv(或复制到.csv文件)。

由于只有一列,没有(C OMMA)■需要eperators。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM