Specific CSV Read Filtering
up vote
0
down vote
favorite
I am pretty new to Python, so I am possibly looking over an easy solution, but everything I have tried thus far has been fruitless.
I have hundreds of CSV files with identical format. The format I have is
--Name of File (unimportant)
--Single Number Value (unimportant)
--Important Row of Column Names
--Two More Rows of Unimportant Formatting Garbage
--Thousands of Rows of Important Data
--Several Blank Rows
--Thousands of Rows of Unimportant Garbage Again
I need to format it so that I am able to easily grab the Column Names and the Important Data underneath. The format is set so that the column names are always on row 5 and that the data always starts on row 8, but the amount of data can very from several hundred to several thousand.
EDIT: I got the exact row number of the heading wrong. Also, I forgot to mention that I need to save the result to a dataframe for future analysis.
This is an image of the top of the csv file
This is an image of the bottom of the csv file. Note that when it switches from 'important data' to 'unimportant data' the number of columns increases, which might make programming difficult.
python csv dataframe
add a comment |
up vote
0
down vote
favorite
I am pretty new to Python, so I am possibly looking over an easy solution, but everything I have tried thus far has been fruitless.
I have hundreds of CSV files with identical format. The format I have is
--Name of File (unimportant)
--Single Number Value (unimportant)
--Important Row of Column Names
--Two More Rows of Unimportant Formatting Garbage
--Thousands of Rows of Important Data
--Several Blank Rows
--Thousands of Rows of Unimportant Garbage Again
I need to format it so that I am able to easily grab the Column Names and the Important Data underneath. The format is set so that the column names are always on row 5 and that the data always starts on row 8, but the amount of data can very from several hundred to several thousand.
EDIT: I got the exact row number of the heading wrong. Also, I forgot to mention that I need to save the result to a dataframe for future analysis.
This is an image of the top of the csv file
This is an image of the bottom of the csv file. Note that when it switches from 'important data' to 'unimportant data' the number of columns increases, which might make programming difficult.
python csv dataframe
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I am pretty new to Python, so I am possibly looking over an easy solution, but everything I have tried thus far has been fruitless.
I have hundreds of CSV files with identical format. The format I have is
--Name of File (unimportant)
--Single Number Value (unimportant)
--Important Row of Column Names
--Two More Rows of Unimportant Formatting Garbage
--Thousands of Rows of Important Data
--Several Blank Rows
--Thousands of Rows of Unimportant Garbage Again
I need to format it so that I am able to easily grab the Column Names and the Important Data underneath. The format is set so that the column names are always on row 5 and that the data always starts on row 8, but the amount of data can very from several hundred to several thousand.
EDIT: I got the exact row number of the heading wrong. Also, I forgot to mention that I need to save the result to a dataframe for future analysis.
This is an image of the top of the csv file
This is an image of the bottom of the csv file. Note that when it switches from 'important data' to 'unimportant data' the number of columns increases, which might make programming difficult.
python csv dataframe
I am pretty new to Python, so I am possibly looking over an easy solution, but everything I have tried thus far has been fruitless.
I have hundreds of CSV files with identical format. The format I have is
--Name of File (unimportant)
--Single Number Value (unimportant)
--Important Row of Column Names
--Two More Rows of Unimportant Formatting Garbage
--Thousands of Rows of Important Data
--Several Blank Rows
--Thousands of Rows of Unimportant Garbage Again
I need to format it so that I am able to easily grab the Column Names and the Important Data underneath. The format is set so that the column names are always on row 5 and that the data always starts on row 8, but the amount of data can very from several hundred to several thousand.
EDIT: I got the exact row number of the heading wrong. Also, I forgot to mention that I need to save the result to a dataframe for future analysis.
This is an image of the top of the csv file
This is an image of the bottom of the csv file. Note that when it switches from 'important data' to 'unimportant data' the number of columns increases, which might make programming difficult.
python csv dataframe
python csv dataframe
edited Nov 12 at 6:40
asked Nov 12 at 4:40
TinyMuffin
286
286
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
up vote
1
down vote
accepted
You can use the below code. I got the column names with the line number =5, and data starting from line number =8 and stopped where we encounter a blank line.
import csv,pandas as pd
Space_encounter_linenum_flag=0
index_df=-1
#This flag is set when it encounters first blank line after the data values end
with open("C:/Users/user/PycharmProjects/spacysample/MrX.csv", 'r') as csvfile:
csvreader = csv.reader(csvfile, delimiter=',')
for row in csvreader:
index_df=index_df+1
if csvreader.line_num==5:
#To get column names
print("THE COLUMN NAMES IN LINE NUMBER 5 ARE...........")
print(', '.join(row))
df_col=pd.DataFrame(row)
if csvreader.line_num==8:
#To get data values
print("**********************************************************")
print("THE DATA VALUES STARTING FROM LINE NUMBER 8 ARE...........")
while row[-1] is '':
row.pop()
print(', '.join(row))
df_col.append(row)
if (csvreader.line_num>8) and max(row, key=len)=='':
#set flag when blank line is encountered
Space_encounter_linenum_flag=1
if (csvreader.line_num>8 and row is not '') and (row is not '') and Space_encounter_linenum_flag!=1:
#stop where blank line is encountered
while row[-1] is '':
row.pop()
print(', '.join(row))
df_val=pd.DataFrame(row)
df_col.append(df_val)
if (csvreader.line_num>8) and Space_encounter_linenum_flag==1:
print('Loop breaks at, line number: '+str(csvreader.line_num))
break
Hope this does exactly what you want.
Hmm, I'm getting some weird results with this. The results starts with a blank row and then starts printing at row 521 until the end. It is also appending something like 50 blank values on the end of each row. This is definitely closer than anything I've done though. Also, how would you save the result to a dataframe for further analysis? Sorry, should've specified that up top.
– TinyMuffin
Nov 12 at 5:56
Is the number of columns and data values equal in your CSV. Also, if possible can you share sample of your CSV data
– Jim Todd
Nov 12 at 6:17
Not completely sure what you mean but the columns amount doesn't change in the section I need, if that's what you mean. The part I don't need below my data increases the column numbers by about eight. Then there is a footer that takes up a shocking ~230 columns. If you are asking if its a perfect square dataframe (i.e. 40x40, 500x500), it is not. There are about 21 columns with thousands of data points underneath.
– TinyMuffin
Nov 12 at 6:46
Ok. updated the code to remove the trailing blank values. Check it out.
– Jim Todd
Nov 12 at 6:48
Perfect! I believe it works exactly as I need now! Thank you so much!
– TinyMuffin
Nov 12 at 6:50
|
show 3 more comments
up vote
0
down vote
import pandas as pd
df = pd.read_csv('path_to_your_csv', header=5)[7:]
# List Columns
df.columns
In case you don't have pandas : pip install pandas
read_csv
docs : https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html
This does not get rid of the thousands of blank and unusable rows underneath my data though.
– TinyMuffin
Nov 12 at 5:07
@TinyMuffin Check my answer and let me know if it doesnt work. Happy Learning!
– Jim Todd
Nov 12 at 5:39
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53256053%2fspecific-csv-read-filtering%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
You can use the below code. I got the column names with the line number =5, and data starting from line number =8 and stopped where we encounter a blank line.
import csv,pandas as pd
Space_encounter_linenum_flag=0
index_df=-1
#This flag is set when it encounters first blank line after the data values end
with open("C:/Users/user/PycharmProjects/spacysample/MrX.csv", 'r') as csvfile:
csvreader = csv.reader(csvfile, delimiter=',')
for row in csvreader:
index_df=index_df+1
if csvreader.line_num==5:
#To get column names
print("THE COLUMN NAMES IN LINE NUMBER 5 ARE...........")
print(', '.join(row))
df_col=pd.DataFrame(row)
if csvreader.line_num==8:
#To get data values
print("**********************************************************")
print("THE DATA VALUES STARTING FROM LINE NUMBER 8 ARE...........")
while row[-1] is '':
row.pop()
print(', '.join(row))
df_col.append(row)
if (csvreader.line_num>8) and max(row, key=len)=='':
#set flag when blank line is encountered
Space_encounter_linenum_flag=1
if (csvreader.line_num>8 and row is not '') and (row is not '') and Space_encounter_linenum_flag!=1:
#stop where blank line is encountered
while row[-1] is '':
row.pop()
print(', '.join(row))
df_val=pd.DataFrame(row)
df_col.append(df_val)
if (csvreader.line_num>8) and Space_encounter_linenum_flag==1:
print('Loop breaks at, line number: '+str(csvreader.line_num))
break
Hope this does exactly what you want.
Hmm, I'm getting some weird results with this. The results starts with a blank row and then starts printing at row 521 until the end. It is also appending something like 50 blank values on the end of each row. This is definitely closer than anything I've done though. Also, how would you save the result to a dataframe for further analysis? Sorry, should've specified that up top.
– TinyMuffin
Nov 12 at 5:56
Is the number of columns and data values equal in your CSV. Also, if possible can you share sample of your CSV data
– Jim Todd
Nov 12 at 6:17
Not completely sure what you mean but the columns amount doesn't change in the section I need, if that's what you mean. The part I don't need below my data increases the column numbers by about eight. Then there is a footer that takes up a shocking ~230 columns. If you are asking if its a perfect square dataframe (i.e. 40x40, 500x500), it is not. There are about 21 columns with thousands of data points underneath.
– TinyMuffin
Nov 12 at 6:46
Ok. updated the code to remove the trailing blank values. Check it out.
– Jim Todd
Nov 12 at 6:48
Perfect! I believe it works exactly as I need now! Thank you so much!
– TinyMuffin
Nov 12 at 6:50
|
show 3 more comments
up vote
1
down vote
accepted
You can use the below code. I got the column names with the line number =5, and data starting from line number =8 and stopped where we encounter a blank line.
import csv,pandas as pd
Space_encounter_linenum_flag=0
index_df=-1
#This flag is set when it encounters first blank line after the data values end
with open("C:/Users/user/PycharmProjects/spacysample/MrX.csv", 'r') as csvfile:
csvreader = csv.reader(csvfile, delimiter=',')
for row in csvreader:
index_df=index_df+1
if csvreader.line_num==5:
#To get column names
print("THE COLUMN NAMES IN LINE NUMBER 5 ARE...........")
print(', '.join(row))
df_col=pd.DataFrame(row)
if csvreader.line_num==8:
#To get data values
print("**********************************************************")
print("THE DATA VALUES STARTING FROM LINE NUMBER 8 ARE...........")
while row[-1] is '':
row.pop()
print(', '.join(row))
df_col.append(row)
if (csvreader.line_num>8) and max(row, key=len)=='':
#set flag when blank line is encountered
Space_encounter_linenum_flag=1
if (csvreader.line_num>8 and row is not '') and (row is not '') and Space_encounter_linenum_flag!=1:
#stop where blank line is encountered
while row[-1] is '':
row.pop()
print(', '.join(row))
df_val=pd.DataFrame(row)
df_col.append(df_val)
if (csvreader.line_num>8) and Space_encounter_linenum_flag==1:
print('Loop breaks at, line number: '+str(csvreader.line_num))
break
Hope this does exactly what you want.
Hmm, I'm getting some weird results with this. The results starts with a blank row and then starts printing at row 521 until the end. It is also appending something like 50 blank values on the end of each row. This is definitely closer than anything I've done though. Also, how would you save the result to a dataframe for further analysis? Sorry, should've specified that up top.
– TinyMuffin
Nov 12 at 5:56
Is the number of columns and data values equal in your CSV. Also, if possible can you share sample of your CSV data
– Jim Todd
Nov 12 at 6:17
Not completely sure what you mean but the columns amount doesn't change in the section I need, if that's what you mean. The part I don't need below my data increases the column numbers by about eight. Then there is a footer that takes up a shocking ~230 columns. If you are asking if its a perfect square dataframe (i.e. 40x40, 500x500), it is not. There are about 21 columns with thousands of data points underneath.
– TinyMuffin
Nov 12 at 6:46
Ok. updated the code to remove the trailing blank values. Check it out.
– Jim Todd
Nov 12 at 6:48
Perfect! I believe it works exactly as I need now! Thank you so much!
– TinyMuffin
Nov 12 at 6:50
|
show 3 more comments
up vote
1
down vote
accepted
up vote
1
down vote
accepted
You can use the below code. I got the column names with the line number =5, and data starting from line number =8 and stopped where we encounter a blank line.
import csv,pandas as pd
Space_encounter_linenum_flag=0
index_df=-1
#This flag is set when it encounters first blank line after the data values end
with open("C:/Users/user/PycharmProjects/spacysample/MrX.csv", 'r') as csvfile:
csvreader = csv.reader(csvfile, delimiter=',')
for row in csvreader:
index_df=index_df+1
if csvreader.line_num==5:
#To get column names
print("THE COLUMN NAMES IN LINE NUMBER 5 ARE...........")
print(', '.join(row))
df_col=pd.DataFrame(row)
if csvreader.line_num==8:
#To get data values
print("**********************************************************")
print("THE DATA VALUES STARTING FROM LINE NUMBER 8 ARE...........")
while row[-1] is '':
row.pop()
print(', '.join(row))
df_col.append(row)
if (csvreader.line_num>8) and max(row, key=len)=='':
#set flag when blank line is encountered
Space_encounter_linenum_flag=1
if (csvreader.line_num>8 and row is not '') and (row is not '') and Space_encounter_linenum_flag!=1:
#stop where blank line is encountered
while row[-1] is '':
row.pop()
print(', '.join(row))
df_val=pd.DataFrame(row)
df_col.append(df_val)
if (csvreader.line_num>8) and Space_encounter_linenum_flag==1:
print('Loop breaks at, line number: '+str(csvreader.line_num))
break
Hope this does exactly what you want.
You can use the below code. I got the column names with the line number =5, and data starting from line number =8 and stopped where we encounter a blank line.
import csv,pandas as pd
Space_encounter_linenum_flag=0
index_df=-1
#This flag is set when it encounters first blank line after the data values end
with open("C:/Users/user/PycharmProjects/spacysample/MrX.csv", 'r') as csvfile:
csvreader = csv.reader(csvfile, delimiter=',')
for row in csvreader:
index_df=index_df+1
if csvreader.line_num==5:
#To get column names
print("THE COLUMN NAMES IN LINE NUMBER 5 ARE...........")
print(', '.join(row))
df_col=pd.DataFrame(row)
if csvreader.line_num==8:
#To get data values
print("**********************************************************")
print("THE DATA VALUES STARTING FROM LINE NUMBER 8 ARE...........")
while row[-1] is '':
row.pop()
print(', '.join(row))
df_col.append(row)
if (csvreader.line_num>8) and max(row, key=len)=='':
#set flag when blank line is encountered
Space_encounter_linenum_flag=1
if (csvreader.line_num>8 and row is not '') and (row is not '') and Space_encounter_linenum_flag!=1:
#stop where blank line is encountered
while row[-1] is '':
row.pop()
print(', '.join(row))
df_val=pd.DataFrame(row)
df_col.append(df_val)
if (csvreader.line_num>8) and Space_encounter_linenum_flag==1:
print('Loop breaks at, line number: '+str(csvreader.line_num))
break
Hope this does exactly what you want.
edited Nov 12 at 7:18
answered Nov 12 at 5:14
Jim Todd
24716
24716
Hmm, I'm getting some weird results with this. The results starts with a blank row and then starts printing at row 521 until the end. It is also appending something like 50 blank values on the end of each row. This is definitely closer than anything I've done though. Also, how would you save the result to a dataframe for further analysis? Sorry, should've specified that up top.
– TinyMuffin
Nov 12 at 5:56
Is the number of columns and data values equal in your CSV. Also, if possible can you share sample of your CSV data
– Jim Todd
Nov 12 at 6:17
Not completely sure what you mean but the columns amount doesn't change in the section I need, if that's what you mean. The part I don't need below my data increases the column numbers by about eight. Then there is a footer that takes up a shocking ~230 columns. If you are asking if its a perfect square dataframe (i.e. 40x40, 500x500), it is not. There are about 21 columns with thousands of data points underneath.
– TinyMuffin
Nov 12 at 6:46
Ok. updated the code to remove the trailing blank values. Check it out.
– Jim Todd
Nov 12 at 6:48
Perfect! I believe it works exactly as I need now! Thank you so much!
– TinyMuffin
Nov 12 at 6:50
|
show 3 more comments
Hmm, I'm getting some weird results with this. The results starts with a blank row and then starts printing at row 521 until the end. It is also appending something like 50 blank values on the end of each row. This is definitely closer than anything I've done though. Also, how would you save the result to a dataframe for further analysis? Sorry, should've specified that up top.
– TinyMuffin
Nov 12 at 5:56
Is the number of columns and data values equal in your CSV. Also, if possible can you share sample of your CSV data
– Jim Todd
Nov 12 at 6:17
Not completely sure what you mean but the columns amount doesn't change in the section I need, if that's what you mean. The part I don't need below my data increases the column numbers by about eight. Then there is a footer that takes up a shocking ~230 columns. If you are asking if its a perfect square dataframe (i.e. 40x40, 500x500), it is not. There are about 21 columns with thousands of data points underneath.
– TinyMuffin
Nov 12 at 6:46
Ok. updated the code to remove the trailing blank values. Check it out.
– Jim Todd
Nov 12 at 6:48
Perfect! I believe it works exactly as I need now! Thank you so much!
– TinyMuffin
Nov 12 at 6:50
Hmm, I'm getting some weird results with this. The results starts with a blank row and then starts printing at row 521 until the end. It is also appending something like 50 blank values on the end of each row. This is definitely closer than anything I've done though. Also, how would you save the result to a dataframe for further analysis? Sorry, should've specified that up top.
– TinyMuffin
Nov 12 at 5:56
Hmm, I'm getting some weird results with this. The results starts with a blank row and then starts printing at row 521 until the end. It is also appending something like 50 blank values on the end of each row. This is definitely closer than anything I've done though. Also, how would you save the result to a dataframe for further analysis? Sorry, should've specified that up top.
– TinyMuffin
Nov 12 at 5:56
Is the number of columns and data values equal in your CSV. Also, if possible can you share sample of your CSV data
– Jim Todd
Nov 12 at 6:17
Is the number of columns and data values equal in your CSV. Also, if possible can you share sample of your CSV data
– Jim Todd
Nov 12 at 6:17
Not completely sure what you mean but the columns amount doesn't change in the section I need, if that's what you mean. The part I don't need below my data increases the column numbers by about eight. Then there is a footer that takes up a shocking ~230 columns. If you are asking if its a perfect square dataframe (i.e. 40x40, 500x500), it is not. There are about 21 columns with thousands of data points underneath.
– TinyMuffin
Nov 12 at 6:46
Not completely sure what you mean but the columns amount doesn't change in the section I need, if that's what you mean. The part I don't need below my data increases the column numbers by about eight. Then there is a footer that takes up a shocking ~230 columns. If you are asking if its a perfect square dataframe (i.e. 40x40, 500x500), it is not. There are about 21 columns with thousands of data points underneath.
– TinyMuffin
Nov 12 at 6:46
Ok. updated the code to remove the trailing blank values. Check it out.
– Jim Todd
Nov 12 at 6:48
Ok. updated the code to remove the trailing blank values. Check it out.
– Jim Todd
Nov 12 at 6:48
Perfect! I believe it works exactly as I need now! Thank you so much!
– TinyMuffin
Nov 12 at 6:50
Perfect! I believe it works exactly as I need now! Thank you so much!
– TinyMuffin
Nov 12 at 6:50
|
show 3 more comments
up vote
0
down vote
import pandas as pd
df = pd.read_csv('path_to_your_csv', header=5)[7:]
# List Columns
df.columns
In case you don't have pandas : pip install pandas
read_csv
docs : https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html
This does not get rid of the thousands of blank and unusable rows underneath my data though.
– TinyMuffin
Nov 12 at 5:07
@TinyMuffin Check my answer and let me know if it doesnt work. Happy Learning!
– Jim Todd
Nov 12 at 5:39
add a comment |
up vote
0
down vote
import pandas as pd
df = pd.read_csv('path_to_your_csv', header=5)[7:]
# List Columns
df.columns
In case you don't have pandas : pip install pandas
read_csv
docs : https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html
This does not get rid of the thousands of blank and unusable rows underneath my data though.
– TinyMuffin
Nov 12 at 5:07
@TinyMuffin Check my answer and let me know if it doesnt work. Happy Learning!
– Jim Todd
Nov 12 at 5:39
add a comment |
up vote
0
down vote
up vote
0
down vote
import pandas as pd
df = pd.read_csv('path_to_your_csv', header=5)[7:]
# List Columns
df.columns
In case you don't have pandas : pip install pandas
read_csv
docs : https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html
import pandas as pd
df = pd.read_csv('path_to_your_csv', header=5)[7:]
# List Columns
df.columns
In case you don't have pandas : pip install pandas
read_csv
docs : https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html
answered Nov 12 at 4:58
Po Xin
133
133
This does not get rid of the thousands of blank and unusable rows underneath my data though.
– TinyMuffin
Nov 12 at 5:07
@TinyMuffin Check my answer and let me know if it doesnt work. Happy Learning!
– Jim Todd
Nov 12 at 5:39
add a comment |
This does not get rid of the thousands of blank and unusable rows underneath my data though.
– TinyMuffin
Nov 12 at 5:07
@TinyMuffin Check my answer and let me know if it doesnt work. Happy Learning!
– Jim Todd
Nov 12 at 5:39
This does not get rid of the thousands of blank and unusable rows underneath my data though.
– TinyMuffin
Nov 12 at 5:07
This does not get rid of the thousands of blank and unusable rows underneath my data though.
– TinyMuffin
Nov 12 at 5:07
@TinyMuffin Check my answer and let me know if it doesnt work. Happy Learning!
– Jim Todd
Nov 12 at 5:39
@TinyMuffin Check my answer and let me know if it doesnt work. Happy Learning!
– Jim Todd
Nov 12 at 5:39
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53256053%2fspecific-csv-read-filtering%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown