我有四列在一个.txt文件,我想转换成.csv,然后打印其中的两列。我的代码如下:
import pandas as pd
import numpy as np
from sys import argv
from pylab import *
import csv
script, filename = argv
txt = open(filename)
print "Here's your file %r:" % filename
print txt.read()
# read flash.dat to a list of lists
datContent = [i.strip().split() for i in open("./N56_mass.txt").readlines()]
# write it as a new CSV file
with open("./N56_mass.txt", "wb") as f:
writer = csv.writer(f)
writer.writerows(datContent)
columns_to_keep = ['#Radius(cm)', 'Ni56MassFration']
dataframe = pd.read_csv("./N56_mass.txt", usecols=columns_to_keep)
pd.set_option('display.height', 1000)
pd.set_option('display.max_rows', 1000)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)
dataframe.plot(x='#Radius(cm)', y='Ni56MassFraction', style='r')
print dataframe
show()
我在用python N56_mass.txt csv_flash.py
执行时遇到了一个不正确的语法错误,错误提示:
File "N56_mass.txt", line 2
0.1e10 0.00326 1.605 0.00203
^
SyntaxError: invalid syntax
我在我的.txt文件或代码中都看不到错误,我也在这里上传.txt文件,请帮我找到错误。提前谢谢
#Radius(cm) Ni56Mass TotalMass Ni56MassFraction
0.1e10 0.00326 1.605 0.00203
0.2e10 0.00548 1.896 0.00289
0.3e10 0.00620 1.976 0.00313
0.4e10 0.00658 2.028 0.00324
0.6e10 0.00716 2.113 0.00339
0.8e10 0.00777 2.177 0.00357
1.0e10 0.00808 2.218 0.00364
1.2e10 0.00833 2.247 0.00370
1.4e10 0.00851 2.268 0.00357
1.6e10 0.00859 2.281 0.00377
1.8e10 0.00862 2.288 0.00377
2.0e10 0.00864 2.293 0.00377
2.2e10 0.00864 2.297 0.00377
2.4e10 0.00864 2.299 0.00376
2.6e10 0.00865 2.301 0.00376
您的命令行语法不正确
通过调用
python N56_mass.txt csv_flash.py
将文本文件而不是有效的python脚本传递给python试试看
使用^{} 将空格作为分隔符处理:
相关问题 更多 >
编程相关推荐