[英]Error using Pandas read_csv from S3 bucket in AWS lambda function - Expected 1 fields in line 5, saw 2
[英]python read_csv with sep parameters is giving all in one column or says expected 2 fileds in line 6 but saw 4
我需要将* .inp文件读入数据框。
该文件看起来像这样
B*** BASE 321 Emit 200.000
/mrpo
:B311
:200.
Emit, 200.000
CG, 1,UFNQ, 123.56
CG, 2,UFNQ, 143.76
CG, 33,UFNQ, 123.56
CG, 223,UFNQ, 143.76
B*** qwqwndqq is iellai ai 200.000 67
B*** qwqwndqq is iellai ai 5050.000 63
/mrpo
B*** END 321 Emit 200.000
/EOF
我想将其读取为数据帧并访问并更改所有行中的第二个数字(期望在前5行和后3行中)并重写一个新的* .inp文件
这是我正在使用的代码
df=pandas.read_csv(file_name, sep =',',header = None, engine ='python')
输出:第7行的预期1字段看到了2
df=pandas.read_csv(file_name, sep ='s',header = None, engine ='python')
输出:多列
df=pandas.read_csv(file_name, sep ='delimiter',header = None, engine ='python')
输出:多列
我想要这样的新文件
B*** BASE 321 Emit 200.000
/mrpo
:B311
:200.
Emit, 200.000
CG, 10001,UFNQ, 123.56
CG, 10002,UFNQ, 143.76
CG, 10033,UFNQ, 123.56
CG, 10223,UFNQ, 143.76
B*** qwqwndqq is iellai ai 200.000 67
B*** qwqwndqq is iellai ai 5050.000 63
/mrpo
B*** END 321 Emit 200.000
/EOF
请建议python中是否还有其他方法
我会为此使用csv阅读器。 这大致就是我的操作方式,但是可能需要对索引进行一些调整。
import csv
filename = 'input.csv'
tempfile = 'output.csv'
with open(filename, 'rb') as csvFile, tempfile:
reader = csv.reader(csvFile, delimiter=',', quotechar='"')
writer = csv.writer(tempfile, delimiter=',', quotechar='"')
row_count = sum(1 for row in reader)
for i, row in enumerate(reader):
if (i >= 4) and (i<row_count-3):
row[1] = 10000 + row[1]
writer.writerow(row)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.