【问题标题】:File splitting using python使用python进行文件拆分
【发布时间】:2016-04-02 00:03:36
【问题描述】:
import csv
import os
mycsv =csv.reader(open("IF_1027_SampleFile.csv","r"))
mycsv1 =csv.reader(open("Output","a"))
search_query ='Record Detail'
line =mycsv.readline()
if line==Searchquery:
    mycsv1.write(line)
    line =mycsv.readline()
else
    infile.close()
    outfile.close()

现在我收到以下错误:

SyntaxError: ("mismatched input 'mycsv1' expecting INDENT", ('<string>', 9, 0, 'mycsv1.write(line)\n'))

你能帮我解决这个问题吗?我哪里做错了?

【问题讨论】:

  • 您的括号不平衡。将分号 ; 更改为右括号 )。不应该有分号。你的缩进也坏了。
  • 我已经修复了你的代码。您能否验证您是否仍有问题?
  • 您是要在 Searchquery 之后写下所有行还是只写一行?
  • 另请显示示例数据
  • 现在我在更改后也收到错误..这里我收到 SyntaxError 的错误:("mismatched input 'mycsv1' Expecting INDENT", ('', 9, 0, ' mycsv1.write(line)\n'))

标签: python file csv


【解决方案1】:

不太确定您的预期输出。

根据您的评论,我假设如下:

输入文件 - 样本数据

record header               
col1    col2    col3        
1              2       3        
2              3       4        
Record Detail               
col1    col2    col3    col4    col5
1           2      3        4       5
2           3      4        5       6

预期输出 记录详细信息之后的所有行。

    col1    col2    col3    col4    col5
    1      2       3       4       5
    2      3       4       5       6

代码

由于原始代码存在一些问题,我在下面写了一个简化版本:

outfile = open('Output','a')

Searchquery = 'Record Detail'
flag = 0

with open('IF_1027_SampleFile.csv','r') as infile:
    for row in infile:
        if ( not flag):
            if Searchquery in row:            #checks for Searchquery
                flag = 1                      #raises flag
        else:
            outfile.write(row)                #if flag is 1, then write to file


outfile.close()   

代码打开输入文件,检查搜索查询的每一行并将搜索查询之后的行写入输出文件。

【讨论】:

  • 我的示例文件将是记录头 col1,col2,col3 1, 2, 3 2,3,4 4,5,6 记录详细信息 col1,col2,col3,col4,col5 1,2, 3,4,5 2,3,4,5,6 现在我需要分隔记录标题下的所有列和数据。请帮助我.. @astrosyam
  • 我的要求是在记录标题下,我将连续拥有列和数据,记录详细信息将从下面开始,将有更多的列和相应的数据......@astrosyam
  • 以后,请尝试将预期结果作为表格发布在问题中。
  • 使用上述逻辑后出现以下错误(“不匹配的输入 '' 期待 EOF”,('', 8, 4, ' for row in infile:\n') )你能帮我解决这个@astrosyam
  • 检查你的缩进!确保空格和制表符与上面完全相同。 Python 对空格很敏感。它似乎对我有用......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多