[英]Split CSV file using standard csv.reader method
For example, my CSV file contains 4 lines:例如,我的 CSV 文件包含 4 行:
CREATE TABLE test(col_name VARCHAR2(30) NOT NULL, col_name_2 INTEGER DEFAULT 0
NOT NULL);
CREATE TABLE test2(col_name VARCHAR2(30) NOT NULL, col_name_2 INTEGER DEFAULT 0
NOT NULL);
I'd like to split it by ";"我想用“;”分割它in order to have 2 elements in the list.
为了在列表中有 2 个元素。 Can I do that using the standard csv.reader method?
我可以使用标准的 csv.reader 方法做到这一点吗? I know that I can use the Pandas.read_csv method.
我知道我可以使用 Pandas.read_csv 方法。
My current code:我目前的代码:
with open("my_file.csv", newline='', encoding="utf8") as csvfile:
reader = csv.reader(csvfile)
You could do:你可以这样做:
with open("my_file.csv", "r", newline='', encoding="utf8") as csvfile:
lines = csvfile.read().strip().rstrip(";").replace("\n", "").split(";")
Result:结果:
['CREATE TABLE test(col_name VARCHAR2(30) NOT NULL, col_name_2 INTEGER DEFAULT 0 NOT NULL)',
'CREATE TABLE test2(col_name VARCHAR2(30) NOT NULL, col_name_2 INTEGER DEFAULT 0 NOT NULL)']
I hope this solves your problem because the split ';'我希望这能解决您的问题,因为拆分 ';' works for fields but not in your case.
适用于字段,但不适用于您的情况。
import csv
with open("file.csv",encoding="utf8") as csvfile:
reader = csv.reader(csvfile)
count = 1
rows = []
for row in reader:
if count % 2 == 0 :
row1.append(" ".join(row))
rows.append(" ".join(row1))
row1 = []
else:
row1 = row
count = count + 1
print(rows)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.