我想将一个文件从MySQL导入到python,但同一行中有两种类型的分隔符,位于同一行。
例如:
FIELDA_FIELDB_FIELDC; FILEDD; FIELDE; FIELDF
我可以与_
或;
分开,但无法找到如何做到这两点。
我试过了
csv_data = csv.reader(csvfile, delimiter=';' and '_')
csv_data = csv.reader(csvfile, delimiter=';' or'_')
我也尝试过使用csv.sniffer。
但每次只使用一个分隔符。
我该怎么办?
答案 0 :(得分:1)
CSV文件只能有一个分隔符,因此您的方法无法正常工作。如果你无法修复损坏的文件,你可以分两步读取它(假设Python 2):
csv_data = []
with open("file.csv", "rb") as csvfile:
reader = csv.reader(csvfile, delimiter=";")
for row in reader:
new = []
for item in row:
new.extend(item.split("_"))
csv_data.append(new)
对于转义_
分隔符等问题,该解决方案当然是天真的,但它可能会按照您的意图运行。